当前位置: 代码迷 >> 汇编语言 >> 跪简单的加法题目,两个8字节无符号数相加
  详细解决方案

跪简单的加法题目,两个8字节无符号数相加

热度:7381   发布时间:2013-02-26 00:00:00.0
跪求一个简单的加法题目,两个8字节无符号数相加
两个8字节无符号数D1和D2,
求这两数之和,
将进位放在AL中,
其他位按从高到低的顺序依次存放在SI、BX、CX和DX中。

小弟我是初次接触汇编语言,希望高手们给点指点啊!

------解决方案--------------------------------------------------------
mov bx,d1
mov,dx,d2
mov si,0
mov di,0
clr cf
mov cx,4
a:mov ax,word ptr [bx+di]
addc ax,word ptr [dx+si]
mov word ptr [bx+di],ax
inc si
inc si
inc di
inc di
loop a ;这地方记不得是cx-1非0转移还是CX-1小于0转移了,机理不同上面的CX值不同
mov si,word ptr [bx+di]
dec di
dec di
mov bx,word ptr [bx+di]
dec di
dec di
mov cx,word ptr [bx+di]
dec di
dec di
mov bx,word ptr [bx+di]
shl al ;这是带进位位的循环左移

总体思路是通过基址+变址寻址将D1和D2相加在存回D1的内存(你也可以指定其他地方)然后在进行分段传送至指定的寄存器便可。
  相关解决方案