21,458
社区成员
发帖
与我相关
我的任务
分享
;输入某位数字子程序
;在数据段定义输入缓冲区,假设输入4位正负数:buf db 5,0,5 dup (0)
;输入的结果转换成十六进制存放在AX中
input proc
mov dx,offset buf
mov ah,10
int 21h
xor cx,cx
mov cl,buf+1
mov bx,offset buf+2
mov ax,0
inp:
mov dx,10
mul dx
and byte ptr [bx],0fh
add al,[bx]
adc ah,0
inc bx
loop inp
ret
input endp
;显示十进制数字子程序
;将要显示的数据存放在DX中
show proc uses ax bx cx dx
mov ax,dx
xor dx,dx
mov bx,10
mov cx,0
a: cmp ax,10
jb ok
div bx
add dl,30h
push dx
xor dx,dx
inc cx
jmp a
ok: add al,30h
push ax
inc cx
b: pop dx
mov ah,2
int 21h
loop b
ret
show endp