汇编语言程序设计——循环结构例6
设计目标
编程序实现两个多字节数相加运算。
Z = X + Y ,设 X = 5488114433225634H,Y = 3499754783645231H,则 Z = 8921868BB686A865H
设计思路
(1)在数据段中定义两个多字节变量,低字节单元存放低位,高字节单元存放高位;
(2)字节的个数 N 采用 EQU 赋值伪指令获得;
(3)多字节相加用带进位加指令 ADC;
; 6-6.asm 两个多字节数相加运算
data segment
x db 34h,56h,22h,33h,44h,11h,88h,54h
y db 31h,52h,64h,83h,47h,75h,99h,34h
n equ $-y ;$表示当前偏移地址,则n=字节个数
z db n dup(?)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov cx,n
mov bx,0
clc ;将进位标志CF清0
let1:
mov al,x[bx] ;从低位开始带进位加
adc al,y[bx]
mov z[bx],al
inc bx
loop let1
mov ah,4ch
int 21h
code ends
end start
debug 结果: