⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhb.asm

📁 自己写的进制转换代码
💻 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 + -