?? p225.asm
字號:
display equ 2
key_in equ 1
doscall equ 21h
code segment
main proc far
assume cs:code
push ds
sub ax,ax
push ax
repeat:
call hexibin
cmp bx,0
jz exit1
call crlf
call binidec
call crlf
jmp repeat
exit1:
ret
main endp
hexibin proc near ;十六進制轉化為二進制
mov bx,0
newchar:
mov ah,key_in
int doscall ;從鍵盤接受一個字符
sub al,30h
jl exit ;字符小于0退出
cmp al,10
jl add_to ;字符大于0小于9
sub al,27h ;不是0~9之間的數字,減去27h,變為a~f的真值
cmp al,0ah
jl exit ;小于a,退出
cmp al,10h
jge exit
add_to:
mov cl,4
shl bx,cl ;bx乘以16
mov ah,0
add bx,ax
jmp newchar
exit:
ret
hexibin endp
binidec proc near ;二進制轉化為10進制
mov cx,10000d
call dec_div
mov cx,1000d
call dec_div
mov cx,100d
call dec_div
mov cx,10d
call dec_div
mov cx,1
call dec_div
ret
binidec endp
dec_div proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,display
int doscall
ret
dec_div endp
crlf proc near
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
ret
crlf endp
code ends
end main
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -