回复 9楼 Darwin890
假设 3字加2字 12345678AABBH + AABBCCDDH
资料段定义
first dw 0AABBh,5678h,1234h,0000h ;补足4字长度
second dw 0CCDDH,0AABBh,0000h,0000h ;补足4字长度
result dw 4 dup (0)
程式段,关键代码片段
...
...
mov bx,0
mov cx,4 ;4字
clc ;清除进位
redo:
mov ax,first[bx]
adc ax,second[bx] ;加前次进位(若有),并得出下次进位(若有)
mov result[bx],ax
inc bx
inc bx ;指向下一地址,不能用add bx,2, inc不会影响标志,add会
loop redo ;回圈
...
...
完成后result即为答案
图中
红色是编译后的关键代码
黄色是第1组数字,已补足为4字
蓝色是第2组数字,已补足为4字
绿色是完成后的结果,也就是
12345678AABBH + AABBCCDDH 的和 = 1235 0134 7798
在内存是倒着看 98 77 34 01 35 12 00 00