📄 dhb.asm
字号:
.model ;十进制转二进制
.stack ;decimalist convert to binary
.data
crln db 0dh,0ah,'$'
input db "please input",0dh,0ah,'$'
output db "output data",'$'
max_len db 3h
act_len db ?
char_buf db 3 dup(0),'$'
.code
main proc far
mov ax,@data
mov ds,ax
mov dx, offset input
mov ah,9h
int 21h
mov dx,offset max_len
mov ah,0ah
int 21h
mov bx,10
xor cl,cl
mov cl, act_len
xor si,si
xor dx,dx
xor ax,ax
lop:
mul bx
mov dx,ax
mov al,char_buf[si]
and al,0fh
add dl,al
mov ax,dx
inc si
loop lop
mov bx,ax
mov dx,offset crln
mov ah,9h
int 21h
mov dx,offset output
mov ah,9h
int 21h
mov cx,8
lop1:
sal bl,1
jc one
mov dl,'0'
mov ah,02h
int 21h
jmp exit
one:
mov dl,'1'
mov ah,02h
int 21h
exit:
loop lop1
mov ah, 4ch
int 21h
main endp
end main
.model ;十六进制转二进制
.stack ; hex convert to binary binary
.data
crln db 0dh,0ah,'$'
input db "please input",0dh,0ah,'$'
output db "output data",'$'
table db "0123456789abcdef"
max_len db 3h
act_len db ?
char_buf db 3 dup(0),'$'
.code
main proc far
mov ax,@data
mov ds,ax
mov dx, offset input
mov ah,9h
int 21h
mov dx,offset max_len
mov ah,0ah
int 21h
mov bx,16
xor cl,cl
mov cl, act_len
xor si,si
xor dx,dx
xor ax,ax
xor di,di
lop:
mul bx
lopp:
mov dl,offset char_buf[si]
cmp dl,table[di]
je quit
inc ax
inc di
jmp lopp
quit:
inc si
xor di,di
loop lop
mov bx,ax
mov dx,offset crln
mov ah,9h
int 21h
mov dx,offset output
mov ah,9h
int 21h
mov cx,8
lop1:
sal bl,1
jc one
mov dl,'0'
mov ah,02h
int 21h
jmp exit
one:
mov dl,'1'
mov ah,02h
int 21h
exit:
loop lop1
mov ah, 4ch
int 21h
main endp
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -