打印
[STM8]

STM8 程序计数器 PC的问题

[复制链接]
3036|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 wojiademao 于 2011-4-24 20:58 编辑

各位大虾好,最近遇到STM8 PC问题请教,PC指针在一些寻址模式中执行的是PC=PC+1,在另一些模式中执行的是PC=PC+2,如附图红点处所示所示,不知道怎么理解,谢谢!

1.jpg (59.61 KB )

1.jpg

2.jpg (70.01 KB )

2.jpg
沙发
香水城| | 2011-4-24 21:22 | 只看该作者
指令长度不同。

使用特权

评论回复
板凳
CC2530| | 2011-4-24 21:49 | 只看该作者
当前指令长度为1,下一个指令的地址是PC+1
当前指令长度为2,下一个指令的地址是PC+2
当前指令长度为3,下一个指令的地址是PC+3

使用特权

评论回复
地板
wojiademao|  楼主 | 2011-4-25 09:06 | 只看该作者
3# CC2530
按你这个理解是执行完一条指令,按指令大小可以加1,加2或加3。不过,这个图上是开始执行这条指令时PC的指向,如上图1,PC开始执行指令时指向052D,然后PC=PC+1(PC=052E),这条指令2个字节,执行完这条指令后PC=052F;图2,PC开始执行指令时PC=0409,然后PC=PC+2(040B),指令大小3个字节,执行完后PC=040C.按指令大小执行完后PC的值是可以理解的,就是执行过程中中间PC值,何时是PC+1,何时是PC+2,这个不好理解,求助,谢谢!

使用特权

评论回复
5
wojiademao|  楼主 | 2011-4-25 09:09 | 只看该作者
2# 香水城
指令长度不同,执行完一条指令PC是按指令长度大小相加的,1个字节是PC=PC+1,2个字节是PC+2。不过这个手册上,如上图部分是指令在没执行前PC的变化,就是不知道这时PC何时是PC+1,何时是PC+2?
谢谢!

使用特权

评论回复
6
wojiademao|  楼主 | 2011-4-26 08:56 | 只看该作者
2# 香水城
香主,求助

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

27

帖子

1

粉丝