📄 exam803.asm
字号:
;首地址为Y的存储区有2个无符号123和321,试编程求它们的和,并
;将其值存入total单元,完成之后和转换成十六进制数,并在屏幕
;止显示出来。
data segment
y dw 123,321
total dw ?
data ends
code segment
assume cs:code, ds:data
main proc far
push ds
mov ax, 0
push ax
mov ax, data
mov ds, ax
mov si, offset y
call sub1 ;调用SUB1子程序,将数据转换成二进制数
ret
main endp
sub1 proc near
push dx
push bx
push ax
push si
push cx
mov ax, [si]
add ax, [si+2]
mov total, ax
call sub2 ;调用SUB2子程序,将数据转换成十六进制数
pop cx
pop si
pop ax
pop bx
pop dx
ret
sub1 endp
sub2 proc near
push bx
push ax
push cx
push dx
mov bx, total
mov ch, 4
lp1: mov cl,4
rol bx, cl
mov al, bl
and al, 0fh
add al, 30h
cmp al, 3ah
jl lp2
add al, 07h
lp2: mov dl, al
mov ah, 02h
int 21h
dec ch
jnz lp1
pop dx
pop cx
pop ax
pop bx
ret
sub2 endp
code ends
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -