当前位置: 代码迷 >> 汇编语言 >> 关于减法指令sub的有关问题
  详细解决方案

关于减法指令sub的有关问题

热度:9926   发布时间:2013-02-26 00:00:00.0
关于减法指令sub的问题,请指教
正在自学王爽的《汇编语言》第二版,关于带进位的加法指令 adc 有点疑问,请大家指教
书上11.6节举了这么一个例子:

mov ax,2
mov bx,1
sub bx,ax
adc ax,1

书上说执行后 (ax)=4, 执行时,相当于计算:(ax)+1+CF=2+1+1=4

我就始终搞不明白执行完sub bx,ax后,(bx)为啥就等于1了  
CF=1我明白,是因为bx-ax的时候借位了,所以应该等于1
但是,sub bx,ax不是应该是 用bx-ax然后结果存到bx吗,前面(bx)=1,(ax)=2,两个减完后怎么会等于1呢?


------解决方案--------------------------------------------------------
没谁说 sub 指令后 bx 为 1 啊,后面的 adc 指令根本就不关 bx 什么事儿,加的是 ax 、CF 和另外一个操作数立即数 1 而已,bx 是多少都无所谓。
  相关解决方案