首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

CMP有关问题

2012-02-27 
CMP问题moval,1movbl,0ffhcmpal,bl为什么cmp后CF会等于1呢?[解决办法]al1,bl0ffhcmp al,bl0000 00011111

CMP问题
mov   al,1
mov   bl,0ffh
cmp   al,bl

为什么cmp后CF会等于1呢?

[解决办法]
al=1,bl=0ffh
cmp al,bl

0000 0001 1111 1121
-1111 1111 -> -1111 1111
---------- ----------
0000 0010 0000 0010

因为被减数向最高位产生了借位,所以CF=1
[解决办法]
cmp执行了隐含的减操作并根据结果修改相应标志位
无符号减法中1h比0ffh来得要小,故减法时产生借位,因此CF被设置

热点排行