打印

ARM指令问题

[复制链接]
1425|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinadz|  楼主 | 2011-9-21 22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题一:MOV是怎么影响CPSR的

问题二:求证对BX用最后一位标志状态切换的一点猜想
程序代码如下:
AREA EX,CODE,READONLY
ENTRY
MAIN ADR RO,THUMBCODE+1
BX RO

CODE16
THUMBCODE MOV R2,#1
MOV R3,#2
ADD R2,R2,R3
ADR R0,ARMCODE
BX RO

CODE32
ARMCODE MOV R4,#3
MOV R5,#4
ADD R4,R5,R3
B MAIN
END
本人有预先猜想求证
1.跳转是通过修改pc完成的,无论thumb和ARM地址的都是按照最少2的倍数递增的,因此地址最后一位一直为0,所以BX指令可以通过最后一位标示要跳转的是thumb还是ARM指令
例如ARM指令pc从8004到8008最后一位的二进制是0100到1000,thumb的8004到8006最后一位是0100到0110
这样想对吗?
2.如果我在thumb中直接通过一个B指令分支到一个ARM指令行会出现什么样的情况呢?

相关帖子

沙发
相见欢喜| | 2011-9-22 00:44 | 只看该作者
不懂啊,好复杂

使用特权

评论回复
板凳
jackyard| | 2011-9-22 16:41 | 只看该作者
不常用,用时看一下资料就可以了。有一年没有用到了

使用特权

评论回复
地板
baidudz| | 2011-9-22 17:51 | 只看该作者
对于ARM汇编还是不太熟练

使用特权

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

本版积分规则

304

主题

2313

帖子

0

粉丝