打印
[ZLG-ARM]

第一个汇编指令实验没看懂

[复制链接]
1631|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songbw|  楼主 | 2007-10-25 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前几天买的开发板,已经开始调试程序
就是smartARM2200的配套实验教材中,第一段汇编代码我没看明白。

MOVHS    R0,#0 ; 若R0大于等于10,则此指令执行,R0 <= 0

就是上面这段,而其它的我都看明白了。
如果在前面的代码中,R0等于10的话,那应该CPSR的条件码标志位应该变成0110,这我们也能分析的出来。可是下面的这条语句应该是MOVVS才对。为什么是MOVHS呢?
给出的教材中,指令条件码表是这样的:
0010    CS/HS    C==1    无符号数大于或等于
0110    VS       V==1    溢出
其它的我就不写了
上面第一行,CS/HS和0010没有任何对应关系,从0010中根本无法判断是无符号数大于或等于
第二行也是,VS和0110没有任何对应关系,从0110中也根本无法判断是溢出
请问这是怎么回事?
后面的汇编代码也是这样

相关帖子

沙发
zlgarm| | 2007-10-25 11:18 | 只看该作者

re~~~

0010和0110是对应条件的操作机器码,它们和CPSR的状态位并没有直接关系,CS/HS表示代码的执行依赖于CPSR的条件位,

使用特权

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

本版积分规则

26

主题

86

帖子

1

粉丝