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

📄 p23.asm

📁 assembly code for MASM
💻 ASM
字号:

.model small
.data
        M1      DB 10, 13, 'Enter the total number of elememts in the array : $'
        M2      DB 10, 13, 'The sorted array is : ',0dh,0ah,'$'
        M3      DB 10, 13, '$'
        ARRAY   DB 100 DUP(0)
.code
START:  MOV AX, @data
        MOV DS,  AX
        MOV AH,  09H           ; Display message M1
	MOV DX,  OFFSET M1
        INT 21H
        MOV AH, 01H            ; input the number of elements in the array
        INT 21H
        SUB AL,30H
        MOV BH,AL
        MOV BL,AL
        XOR DI,DI
        MOV CL,4
  BACK:
        MOV AH,  09H           ; Carrige return and next line
        MOV DX,  OFFSET M3
        INT 21H

        MOV AH,01
	INT 21H
        SUB AL,30H
        SAL AL,CL
        MOV CH,AL
        MOV AH,01
	INT 21H
        SUB AL,30H
        OR CH,AL

        MOV [ARRAY+DI],CH
        INC DI
        DEC BL
        JNZ BACK

        MOV CH,BH
AGAIN1: MOV DI,0
AGAIN:  MOV DL,[ARRAY+DI]
        CMP DL,[ARRAY+DI+1]
        JBE SKIP
        MOV AH,[ARRAY+DI+1]
        MOV [ARRAY+DI],AH
        MOV [ARRAY+DI+1],DL
SKIP:   INC DI
        MOV AH,0
        MOV AL,BH
        DEC AL
        CMP AX,DI
        JNZ AGAIN        
        DEC CH
        JNZ AGAIN1

        MOV AH,  09H           ; Display message M1
        MOV DX,  OFFSET M2
        INT 21H

        MOV BL,BH
        XOR DI,DI
 BACK1:
        MOV AH,  09H           ; Carrige return and next line
        MOV DX,  OFFSET M3
        INT 21H

        MOV DL,[ARRAY+DI]
        AND DL,0F0H
        SAR DL,CL
        ADD DL,30H
        MOV AH,02
	INT 21H
        MOV DL,[ARRAY+DI]
        AND DL,0FH
        ADD DL,30H
        MOV AH,02
	INT 21H
        INC DI
        DEC BL
        JNZ BACK1

TER:   MOV AH,  4CH
        INT  21H
        END START

⌨️ 快捷键说明

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