📄 sy4-mpsort.asm
字号:
.MODEL SMALL
.STACK
.DATA
MESS1 DB 'Before sort:',13,10,'$'
MESS2 DB 'After sort:',13,10,'$'
P3 DB 13,10,'$'
P5 DB 'SORT OK!',13,10,'$'
ORG 1000H
ARRAY DB 56H,23H,37H,78H,0FFH,0,12H,99H,64H,0B0H
DB 78H,80H,23H,1,4,0FH,2AH,46H
SORTNUM EQU ($-ARRAY)/TYPE ARRAY
.CODE
.STARTUP
LEA DX,MESS1
MOV AH,09H
INT 21H
CALL DISPL
LEA DX,P3
MOV AH,09H
INT 21H
MOV CX,SORTNUM-1
OUTLP: MOV DX,CX
MOV BX,OFFSET ARRAY
INLP: MOV AL,[BX]
CMP AL,[BX+1]
JNA NEXT
XCHG AL,[BX+1]
MOV [BX],AL
NEXT: INC BX
DEC DX
JNZ INLP
LOOP OUTLP
MOV DX,OFFSET P5
MOV AH,09H
INT 21H
LEA DX,MESS2
MOV AH,09H
INT 21H
CALL DISPL
.EXIT 0
DISPL PROC NEAR
MOV BX,OFFSET ARRAY
MOV CX,SORTNUM
LOOP1: PUSH CX
MOV CL,[BX]
LOOP2: MOV DL,CL
ROR DL,1
ROR DL,1
ROR DL,1
ROR DL,1
AND DL,0FH
CMP DL,09H
JA ZIMU1
ADD DL,30H
JMP OUTPUT1
ZIMU1: ADD DL,37H
OUTPUT1: MOV AH,02H
INT 21H
AND CL,0FH
CMP CL,09H
JA ZIMU2
ADD CL,30H
JMP OUTPUT2
ZIMU2: ADD CL,37H
OUTPUT2: MOV DL,CL
MOV AH,02H
INT 21H
MOV DL,48H
MOV AH,02H
INT 21H
MOV DL,20H
MOV AH,02H
INT 21H
INC BX
POP CX
LOOP LOOP1
RET
DISPL ENDP
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -