当前位置:编程学习 > 汇编语言 >>

MOV  BX,9B8CH  ; (BX)=9B8CH ADD  BX,6478H  ; now (BX)=0000H

为什么在执行ADD指令时BX和648H都减了2
答案:这个题的解说应该是说明进位的吧,重点在最下面的那行。。。。BX加上6478H等于10004H
16位的寄存器不能装下,就好像100H 八位寄存器(例如BX的低8位寄存器BL)装不下一样,就产生了进位。。。结果10004H,,BX只能保存结果的0004H,产生了进位1
,,,这课是不是解说标志寄存器的啊?
其他:这有PC决定的 结果应该是BX=4h吧?

BX寄存器是16位的,最大能存储0FFFFh,你看看你那数值是不是大于这个了呢? 你把代码写全了吗?按说结果不会等于0,应该等于4啊,执行add指令时不会都减去2?! 不知道 22222222222222222222 

上一个:汇编语言问题,请高手看看下面的程序哪里有误
下一个:反汇编的JE JMP等指令

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,