汇编_ASM_选择排序

原创 2012年03月22日 18:17:49
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


相关文章推荐

汇编_ASM_选择排序

PRINT MACRO OPT;输出十进制数字的宏 MOV AX,OPT MOV BL,10 ...

选择排序(内联汇编)

  • 2014年12月22日 21:23
  • 446B
  • 下载

选择排序c&汇编实现

void CDsexampleDlg::SelectOrder() { int count =m_list_num1.GetCount(); int * arr = new int[coun...

选择排序(汇编实现)

刚学汇编,于是用汇编编写了选择排序算法,初学真是各种心累啊。 (选择排序思想即为每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。) DATA SEGM...

MIPS汇编:选择排序13条指令

MIPS汇编:选择排序13条指令 单纯地为了减少汇编指令数,所以就别指望效率了~ 在下面也写了C语言对应的代码,希望有助于理解~ MIPS汇编代码: #$t0:the base a...

汇编实现排序——简单选择排序

上阵子重温数据结构,差不多更新到排序。这学期学了汇编语言,其中有几个实验便是实现内部排序算法。以下是实现简单选择排序的程序设计:S0 SEGMENT STACK DW 20 DUP(?) ...

C#简单实现泛型选择排序

  • 2017年04月30日 12:26
  • 37KB
  • 下载

c语言的选择排序

  • 2014年11月29日 19:41
  • 15KB
  • 下载

冒泡、快速、直接插入、选择排序算法(Java语言实现)

一、冒泡排序 /**  * win8.1 32位操作系统  * @author Che‑cars  * 2015年7月30日 下午8:35:09  */ public class Bubb...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汇编_ASM_选择排序
举报原因:
原因补充:

(最多只允许输入30个字)