已知有两个双字长度的数DATA1和DATA2,要求用8086汇编语言编程实现两数相加,并将结果存放在result中,采用高地址优先存储结果(如1234H,5678H表示56781234H)。程序的数据段部分已给出,要求补充完整程序,实现上述要求的功能。
答:
DATA SEGMENT
DATA1 DW 5311H,8A13H ;表示数据8A135311H
DATA2 DW 4783H,9526H ;表示数据95264783H
RESULT DW 2 DUP(?) ; 存放多字节加法的结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,DATA1
MOV DX,DATA1+2
ADD AX,DATA2 ;低字部分相加
ADC DX,DATA2+2 ;高字部分带进位相加
MOV RESULT,AX ;存放低字部分相加结果
MOV RESULT+2,DX ;存放高字部分相加结果
CODE ENDS
END START