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

📄 li6.asm

📁 本程序是汇编语言的一些基本功能的组合
💻 ASM
字号:
data segment
 a dw 10 dup(?)
 mess db 'Input array:$'
data ends
code segment
main proc far
 assume cs:code,ds:data
start:
 push ds
 sub ax,ax
 push ax
 mov ax,data
 mov ds,ax
;------------------
;Input 10 numbers
 mov ah,9
 lea dx,mess
 int 21h
 lea si,a 
 mov cx,10 
input:  
 push cx
 call decibin 
 mov [si],bx  
 add si,2     
 pop cx
 loop input   
 call crlf    
;-----------------
;sort
 call sort    
;----------------
; Output 10 numbers
 lea si,a
 mov cx,10
output:
 mov bx,[si]   
 call binidec  
 call crlf
 add si,2      
 loop output   
;-----------------
 ret
main endp      
;----------------
sort proc near  
 mov cx,10
 dec cx
loop1:
 mov di,cx
 mov bx,0
loop2:
 mov ax,a[bx]
 cmp ax,a[bx+2]
 jl  continue
 xchg ax,a[bx+2]
 mov a[bx],ax
continue:
 add bx,2
 loop loop2  
 mov cx,di
 loop loop1  
 ret
sort endp
;------------------
decibin proc near
  mov bx,0
newchar:
  mov ah,1
  int 21h
  sub al,30h
  cmp al,0
  jb  exit1
  cmp al,9
  jnbe exit1
  cbw
  xchg ax,bx
  mov cx,10d
  mul cx
  xchg ax,bx
  add  bx,ax
  jmp  newchar
exit1:
  ret
decibin endp
;---------------
binidec proc near
     cmp   bx,0
     jne   nz
     mov   dl,'0'
     mov   ah,2
     int   21h
     ret
nz:
     push  bx
     push  cx
     push  si
     push  di
     mov   di,0
     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
     pop   di
     pop   si
     pop   cx
     pop   bx
     ret
binidec endp
;------------------
dec_div proc near
     mov  ax,bx
     mov  dx,0
     div  cx
     mov  bx,dx
     mov  dl,al
     add  dl,30h
     cmp  dl,'0'
     je   done
     mov  di,1
done:cmp  di,1
     jne  exit2
     mov  ah,2
     int  21h
exit2:ret
dec_div  endp
;-----------------
crlf proc near
  mov dl,0dh
  mov ah,2
  int 21h
  mov dl,0ah
  int 21h
  ret
crlf endp
;---------------
code ends
  end start

⌨️ 快捷键说明

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