前几天买的开发板,已经开始调试程序 就是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中也根本无法判断是溢出 请问这是怎么回事? 后面的汇编代码也是这样
|