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

📄 sort.asm

📁 实现了汇编asm下的选择排序程序
💻 ASM
字号:
       PRINT  MACRO     OPT

              MOV       AX,OPT
              MOV       BL,10
              DIV       BL          ;余数在ah,商在al  ,商为十位,余数为个位
              MOV       DX,AX
              ADD       DH,30H
              ADD       DL,30H
              MOV       AH,02H
              INT       21H         ;输出十位
              MOV       DL,DH
              MOV       AH,02H      ;输出个位
              INT       21H
              MOV       DL,20H
              MOV       AH,02H
              INT       21H         ;输出空格
              ENDM

        DATA  SEGMENT
       ARRAY  DW        3,2,1
    MESSAGE1  DB        "ORIGINAL ARRAY:",13,10,'$'
    MESSAGE2  DB        13,10,"AFERT SELECTEDSORT:",13,10,'$'
        TEMP  DW        0
       COUNT  DW        3
        DATA  ENDS
        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA
        MAIN  PROC      FAR
      START:  MOV       AX,DATA
              MOV       DS,AX
              LEA       DX,MESSAGE1
              MOV       AH,09H
              INT       21H         ;提示输出原始数组
              MOV       CX, COUNT
              LEA       SI,ARRAY
  ORG_PRINT:  PRINT     [SI]
              ADD       SI,2
              LOOP      ORG_PRINT
              MOV       DL,0
              MOV       AH,02H
              INT       21H

              CALL      SORT

              LEA       DX,MESSAGE2
              MOV       AH,09H
              INT       21H
              MOV       CX,COUNT
              LEA       SI,ARRAY
           SORTED_PRINT:  PRINT     [SI]
              ADD       SI,2
              LOOP      SORTED_PRINT
              MOV       AH,4CH
              INT       21H
        MAIN  ENDP

        SORT  PROC      NEAR
              MOV       CX,COUNT
              LEA       DI,ARRAY

       LOP1:  MOV       DX,CX
              MOV       SI,DI

              MOV       BX,DI
              ADD       BX,2
       LOP2:  MOV       AX,[SI]
              CMP       AX,[BX]
              JLE       CONTINUE
              MOV       SI,BX

   CONTINUE:  ADD       BX,2
              LOOP      LOP2

              MOV       AX,[DI]
              XCHG      AX,[SI]
              MOV       [DI],AX
              ADD       DI  ,2
              MOV       CX,DX
              LOOP      LOP1
              RET
        SORT  ENDP
        CODE  ENDS
              END       START



⌨️ 快捷键说明

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