exam803.asm
来自「我在汇编课上完成的一些作业(上机常见习题)和汇编课本上的几个例题」· 汇编 代码 · 共 64 行
ASM
64 行
;首地址为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 + =
减小字号Ctrl + -
显示快捷键?