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

📄 change10_16.txt

📁 用汇编语言编写输入十进制数
💻 TXT
字号:

;输入十进制数,输出十六进制数

data segment
     innum  db 10 dup(0)
     outnum db  10 dup(0)
     prt1   db "INPUT: $"
     prt2   db "OUTPUT: $ "
     cr_lf   db 0dh,0ah,'$'
data ends
stack segment stack
      db 10 dup(0)
stack ends
code segment 
     assume ss:stack,cs:code,ds:data
begin:
      mov ax,data
      mov ds,ax

      lea dx,prt1
      mov ah,9
      int 21h

      lea di,innum
      mov ah,1
  in1: 
      int 21h
      cmp al,0dh
      je out1
      mov byte ptr[di],al
      inc di
      jmp in1                     
 out1:
      dec di
      mov cx,10
      lea si,innum
      xor dx,dx

   l1:
      mov ax,[si]      ;输出的是一个字
      xor ah,ah
      sub ax,30h
      add dx,ax
      cmp  si,di
      je l2
     mov ax,dx
     mul  cx
     add dx,ax
     inc si
     jmp l1
   l2:   
      mov ax,dx
      lea si,outnum
      mov bx,16
      call radix
      mov byte ptr[si],'H'
      mov byte ptr[si+3],'$'
      lea dx,cr_lf
      mov ah,9
      int 21h      
      lea dx,prt2
      int 21h
      lea dx,outnum
      int 21h
      
      mov ah,4ch
      int 21h
radix proc
      push cx
      push dx
      xor cx,cx
 lop1:xor dx,dx
      div bx    
      push dx 
      inc cx
      or ax,ax
      jnz lop1
 lop2:pop ax
      cmp al,10
      jb l3
      add al,7
   l3:add al,30h
      mov [si],al
      inc si
      loop lop2
      pop dx
      pop cx
      ret
  radix endp
code ends
     end begin 
      




       

      
      
      



 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -