add128: push ax
push cx
push si
push di
sub ax,ax
mov cx,8
s:mov ax,[si]
adc ax,[di]
mov [si],ax
inc si
inc si
inc di
inc di
loop s
pop di
pop si
pop cx
pop ax
ret
上面的子程序是对两个128位数据进行相加
并把运算结果存储在第一个数的存储空间中。
上面的程序能不能把
4个INC指令用
add si,2
add di,2
代替?为什么?求解答
------解决方案--------------------------------------------------------
可以的。inc 和 add 指令的区别就在 inc 不影响 CF 标记位而 add 指令会根据运算结果设置 CF 。在这里,后续没有对 inc 指令后的 CF 有什么动作,所以,就是可以的了。