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

📄 lijie32c.asm

📁 汇编语言的一个小程序汇编语言的一个小程序
💻 ASM
字号:
DATA SEGMENT
DSTR DB 23H,45H,0AH,82H,0C2H,65H,8DH,5EH,0B7H,91H,33H,88H,78H,66H,44H,22H
DATAL EQU $-DSTR
P    DW DATAL DUP(?)
DATA ENDS

STACK SEGMENT STACK
      DW 100 DUP(?)
STACK ENDS

;十个无符号数从大到小排序
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
       MOV DS,AX
;======================
     MOV SI,OFFSET P
     MOV AX,OFFSET DSTR
     MOV CX,DATAL
LOPA:MOV [SI],AX
     ADD SI,2
     INC AX
     LOOP LOPA 
     CALL DISP
;=======================    
     MOV DX,DATAL-1
ST1: MOV CX,DX
     MOV BX,OFFSET P
ST2: MOV SI,[BX]
     MOV DI,[BX+2]
     MOV AL,[SI]
     CMP AL,[DI]
     JNC ST3
     MOV [BX],DI
     MOV [BX+2],SI
ST3: ADD BX,2
     LOOP  ST2
     DEC   DX
     JNZ   ST1
     CALL DISP
;========================
     MOV AH,4CH
     INT 21H

;====DISPLAY=============
DISP PROC NEAR
     MOV CX,DATAL
     MOV BX,OFFSET P
LOPB:MOV SI,[BX]
     MOV AL,[SI]
     PUSH CX
     MOV  CL,4
     ROL  AL,CL
     POP CX
     CALL ASCII
     MOV  AL,[SI]
     CALL ASCII
     MOV DL,20H
     MOV AH,02H
     INT 21H
     ADD BX,2
     LOOP LOPB
     MOV DL,0AH
     MOV AH,02H
     INT 21H
     MOV DL,0DH
     MOV AH,02H
     INT 21H
     RET
DISP ENDP
ASCII PROC NEAR
      AND  AL,0FH
      ADD  AL,90H
      DAA
      ADC  AL,40H
      DAA
      MOV  DL,AL
      MOV  AH,02H
      INT 21H
      RET
ASCII ENDP
CODE ENDS
     END  START  

⌨️ 快捷键说明

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