汇编语言标志寄存器问题,

问题描述:

汇编语言标志寄存器问题,

数据对应  add  al,0Bh 这一行的   
不对请指正,
1个回答 分类:数学 2014-11-24

问题解答:

我来补答
这是分析不出来的.
因为你语句中都是寄存器的值,不是立即数.比如10H,10H寄存器中的值必须要知道才行.
如果是立即数:
mov al,#7DH
add al,#0BH
执行后:CF=0,OF=0,SF=1,ZF=0,PF=1
你写的是对的.
再问: 怎么不是立即数,求解
答案写的是 0 1 1
0 1
再答: 你明白7DH和#7DH的区别吗?
再问: 不明白,还没见过#,程序段中这么写是立即数吧,把这段置于程序段中 结果为什么
是0 1 1 0 1
7D H 和B H都是有符号正数,相加大于127D,明白了
再答: 一般用#7DH,表示立即数。7DH表示寄存器。
OF这个关键是看,是按照有符号数计算?还是按照无符号数计算?
按无符号数计算,7DH(125)+0BH(11)=88H(136),没有溢出,CF=0
按无符号数计算,7DH(125)+0BH(11)=88H(136),溢出,OF=1
 
 
展开全文阅读
剩余:2000
下一页:铜,及其化合物