📄 iinout.asm
字号:
code segment
assume cs:code
main proc far
call decin
call href
call hexout
mov ah,4ch
int 21h
main endp
decin proc near
mov bx,0
diin: mov ah,01h
int 21h
cmp al,13
jz diexit
and al,0fh
mov ah,0
xchg ax,bx
mov cx,10
mul cx
add bx,ax
jmp diin
diexit: ret
decin endp
href proc near
push ax
push dx
mov ah,02h
mov al,0dh
int 21h
mov al,0ah
int 21h
pop dx
pop ax
ret
href endp
hexout proc near
mov ch,4
hol1: mov cl,4
rol bx,cl
mov dl,bl
and dl,0fh
add dl,30h
cmp dl,39h
jbe hol2
add dl,7
hol2: mov ah,02h
int 21h
dec ch
jnz hol1
mov ah,02h
mov dl,'H'
int 21h
ret
hexout endp
biin proc near
mov bx,0
mov cx,0
bil1: mov ah,01h
int 21h
cmp al,13
jz bexit
and al,01h
shl bx,1
or bl,al
inc cx
cmp cx,16
jz bexit
jmp bil1
bexit: mov number,bx
ret
biin endp
hexin proc near
mov bx,0
mov ch,0
hil1: mov ah,01h
int 21h
cmp al,13
jz hexit
sub al,30h
cmp al,9
jbe hil2
sub al,7
hil2: mov cl,4
shl bx,cl
or bl,al
inc ch
cmp ch,4
jz hexit
jmp hil1
hexit: ret
hexin endp
biout proc near
mov bx,number
mov cx,16
bol1: rol bx,1
mov dl,bl
and dl,01h
or dl,30h
mov ah,02h
int 21h
loop bol1
mov ah,02h
mov dl,'B'
int 21h
ret
biout endp
deout proc near
mov ax,number
mov len,0
mov bx,0
mov dx,0
mov cx,10
dol1: div cx
mov result[bx],dl
inc bx
cmp ax,0
jz dopr
mov dx,0
jmp dol1
dopr: mov dl,result[bx]
or dl,30h
mov ah,02h
int 21h
dec bx
cmp bx,-1
jz dexit
jmp dopr
dexit:ret
deout endp
code ends
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -