汇编加法进位如何放到内存
发布网友
发布时间:2022-04-20 07:36
我来回答
共1个回答
热心网友
时间:2023-06-23 22:29
dseg segment
d0 db 1 ;1byte
d1 db 2
d2 db 0
dd0 dw 1 ;2byte
dd1 dw 2
dd2 dw 0
qd0 dd 1 ;4byte
qd1 dd 2
qd2 dd 0
dseg ends
assume cs:cseg, ds:dseg
cseg segment
start:
mov ax, dseg
mov ds, ax
;1byte
mov al,d0
add al,d1 ; d0+d1
mov d2,al ; save to d2
;2 byte
mov ax, dd0
add ax, dd1
mov dd2, ax
;4byte
mov ax, word ptr qd0 ;低位数据在低地址,高位数据在高地址
add ax, word ptr qd1 ;低位数据相加
mov word ptr qd2, ax ;保存到qd2的低位
mov ax, word ptr qd0+2 ;高位
adc ax, word ptr qd1+2 ;高位相加,再加上低位相加时,有可能的进位
mov word ptr qd2+2, ax ;保存高位。如果高位相加有进位,这里未处理
mov ax,4c00h
int 21h
cseg ends
end start