📄 array.asm
字号:
DSEG SEGMENT
;数据段:在此处添加程序所需的数据
array db 7 dup(?),0dh,0ah,'$' ;数组
;array db 3,5,6,4,3,5,1
space db 20h,'$' ;空格
enter db 0dh,0ah,'$' ;回车换行
msg db 0dh,0ah,'Press any key to eixt...','$'
DSEG ENDS
CSEG SEGMENT
assume cs:CSEG, ds:DSEG
MAIN PROC ;主程序入口
mov ax, dseg
mov ds, ax
;此处添加主程序代码
mov cx, 7
mov di,word ptr array
INPUT:
mov ah,01h
int 21h
mov [di], al
inc di
mov ah, 09h
mov dx,offset space
int 21h
loop INPUT
;比较排序
mov cx,6
lea si,array
mov di,si
mov dl,[si]
SORT:
mov si,di
mov ax,cx
mov dl,[di]
NEXT:
inc si
cmp dl,[si]
jl NOCHANGE
xchg dl,[si]
NOCHANGE:
dec ax
jnz NEXT
xchg [di],dl
inc di
loop SORT
;显示输出
lea si, array
mov cx,7
mov ah,09h
mov dx,offset enter
int 21h
PRINT:
mov ah, 02h
mov dl,[si]
int 21h
inc si
mov ah,09h
mov dx,offset space
int 21h
loop PRINT
EXIT:
mov ah,09h
mov dx,offset msg
int 21h
mov ah,07h
int 21h
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
MAIN ENDP
CSEG ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -