在内存中存放两个6字节无符号整数,分别实现加法减法
方法一:
data segment
x db 12h,34h,23h,45h,34h,56h
y db 11h,11h,11h,11h,11h,11h
sum db 0
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax ;操作数据
lea si,x
lea di,y
lea bx,sum
clc ;清楚进位标志的数据
mov cx,6
again:
mov al,[si] ;操作位数是一位
adc al,[di]
mov [bx],al
pushf ;压栈防止 影响cf进位
inc si
inc di
inc bx
popf
dec cx ;循环操作指令
jnz again ;循环结束
mov al,0
adc [bx+1],al ;实现进位
mov ax,4c00h
int 21h
code ends
end start
方法二:
data segment
x dw 1122h
dw 3344h
dw 5566h
y dw -1111h
dw -1111h
dw -1111h
z dw 0000h
dw 0000h
dw 0000h
s dw 0000h
dw 0000h
dw 0000h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,