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

📄 zy6.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
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
CALL SORT
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]
JG 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
JA 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 + -