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

📄 p2.asm

📁 字符串字符分类排序
💻 ASM
字号:
DATA SEGMENT
     STRING DB 20 DUP(?)
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
START:
      MOV AX,DATA
      MOV DS,AX
      MOV CX,0
      MOV DX,0
      MOV SI,OFFSET STRING
      MOV AH,1
      INT 21H
      CMP AL,0DH
      JZ  EXIT                ;判断第一个字符,如果为回车,则程序结束
      MOV [SI],AL                
      INC CX
      INC DX
      INC SI
  L0: MOV AH,1                ;输入字符串
      INT 21H
      CMP AL,0DH              ;回车为结束符,转下一步操作
      JZ  NEXT1
      MOV [SI],AL
      INC SI
      INC CX                  ;记录输入字符的个数
      INC DX                  
      JMP L0

NEXT1:DEC CX                  ;外循环比较次数             
      DEC DX                  ;内循环比较次数
      PUSH CX                 ;保护现场

      PUSH DX
  L1: MOV SI,OFFSET STRING    ;冒泡法排序
  L2: MOV AL,[SI]
      CMP AL,[SI+1]
      JLE L3
      XCHG AL,[SI+1]
      MOV [SI],AL
  L3: INC SI
      DEC DX
      JNZ L2
      POP DX
      PUSH DX
      DEC CX
      JNZ L1
    
      POP DX                  ;恢复现场
      POP CX
      INC CX
      MOV SI,OFFSET STRING
NEXT2:MOV DL,[SI]             ;输出字符串
      MOV AH,2
      INT 21H
      INC SI
      LOOP NEXT2

EXIT: MOV AH,4CH
      INT 21H
CODE ENDS
     END START

⌨️ 快捷键说明

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