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

📄 binarychange.asm

📁 输入一个二进制数
💻 ASM
字号:
DATAS SEGMENT
  ;此处输入数据段代码 
   array dw  10 dup(?)
   temp  dw   ?
   string1 db  'please input ten numbers',13,10,'$'
   string2 db  'Now the sorting resuelt is :',13,10,'$'
    RESULT DB 5 DUP(?)
   
   
   
   
   
    
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码据段代码
   
    lea si,array
    lea dx,string1
    mov ah,09h   ;输入第一条提示
    int 21h
    mov cx,10
    
    
sort1:
    
    call DECIN
    add si,2
    mov ah,02h    
    mov dl,13
    int 21h
    mov dl,10
    int 21h
    LOOP SORT1
    
    
    
    
lea dx  ,string2
    mov ah,09h   ;输入第二提示
    int 21h
    
    
   mov cl,0    
sort2:  
   mov ch,9


   sub ch,cl
   mov si,0
     sort3:
       
         mov ax ,array[si]
         cmp array[si+2],ax
         ja exit2
         xchg array[si+2],ax
         mov array[si],ax
  exit2: 
         add si,2
   	     dec ch
         jnz sort3
         inc cl
      cmp cl,9
      jl sort2


   mov si ,0
   mov cx,10
   
   
   
   
   
   lea dx  ,string2
    mov ah,09h   ;输入第二提示
    int 21h
    
sort4:
  call decout
  add si,2
  mov ah,02h 
  mov dl,10
  int 21h
  loop sort4
  
          
 DECIN PROC NEAR    ;输入一个十进制数
    push ax
    push bx
    push cx
    push dx
 
   
	MOV BX,0
DIL1: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 DIL1    
 DIEXIT:MOV [si],BX
        pop dx
        pop cx
        pop bx
        pop ax
      
       
        RET    
DECIN ENDP  
    
    
     
 DECOUT PROC NEAR
        push ax
       push bx
       push cx
       push dx
        MOV AX,array[si]
        MOV CX,5
        MOV BX,0
  DOL0: MOV RESULT[BX],0
        INC BX
        LOOP DOL0  
        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 DOEXIT
        JMP DOPR
 DOEXIT:
       pop dx
        pop cx
        pop bx
        pop ax
 RET
  DECOUT ENDP   
    
    
    
    
    
    
    
    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

⌨️ 快捷键说明

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