狗子在这呢 发表于 2020-5-28 21:35:26

符号扩展指令的问题

例如: mov al,0e5h
         cbw   ;(ax)=ffe5h   我的问题就是为什么扩展符号是f,怎么判断的。
         mov al,36h
         cbw   ;(ax)=0036h   这个又变成了扩展0了,有点不太懂

有无符号数是有什么区分的方法嘛?

有大佬能给解答一下嘛,谢谢啦

sunrise085 发表于 2020-5-28 21:41:47

是按照最高位扩展的
mov al,0e5h
al的内容是 1110 0101,最高位是1,所以扩展的高字节是ff
mov al,36h
al的内容是0011 0110,最高位是0,所以扩展的高字节是00

狗子在这呢 发表于 2020-5-28 21:58:17

sunrise085 发表于 2020-5-28 21:41
是按照最高位扩展的
mov al,0e5h
al的内容是 1110 0101,最高位是1,所以扩展的高字节是ff


懂了,要把16进制变成2进制
另外,有符号数,无符号数,是不是在一些不要求有无符号限制的指令当中没区别吖
页: [1]
查看完整版本: 符号扩展指令的问题