汇编_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


选择排序(汇编实现)

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

8086汇编排序(冒泡、选择、快速)

本代码通过测试,可通过masm查验
  • you1314520me
  • you1314520me
  • 2014年06月01日 16:56
  • 2810

MIPS汇编语言实现选择排序

MIPS汇编语言实现排序算法,其实并不难。只要你掌握了基本的指令语句,并且熟悉C或C++相关算法,即可轻松写出来。...
  • Kiloveyousmile
  • Kiloveyousmile
  • 2017年04月04日 03:48
  • 920

汇编排序算法代码总结

1 冒泡排序 http://blog.csdn.net/a123443/article/details/6779137 ;冒泡排序 ;author JRH ;2011.7.10 assume ds:...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年06月07日 11:43
  • 2217

汇编冒泡排序

学了一段时间汇编,想搞点事情来玩玩,于是整出一个冒泡排序的小程序。程序功能:将给定字节数组中的元素排序,并将结果输出到DOS。功能拆分:1、排序 最简单最容易想的就是冒泡排序,只有两重循环,而且里外...
  • qq_20480611
  • qq_20480611
  • 2016年04月16日 12:32
  • 3172

汇编实现排序——冒泡排序

冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的...
  • u010429311
  • u010429311
  • 2016年06月21日 23:20
  • 8223

MIPS汇编:冒泡排序

推荐入门教程:【十分钟教会你汇编】MIPS编程入门我是先写出C++冒泡排序的代码,然后再将之手动转为汇编代码。以下是冒泡排序的汇编代码:################################...
  • linwh8
  • linwh8
  • 2017年04月01日 14:13
  • 2363

汇编-排序实验

一、实习目的     掌握用汇编语言编写程序的思路和方法。 二、实习内容     从首地址为1000H开始存放10个数,要求设计程序将这些数由小到大排序,排序后的数仍放在原地址处。 三、代...
  • u013507368
  • u013507368
  • 2014年11月21日 17:09
  • 1700

汇编版,冒泡排序法

TITLE sample of bubble sort for asmebly language INCLUDE Irvine32.inc .data array DWORD 3,1,7,5,2,9...
  • lyx2007825
  • lyx2007825
  • 2014年01月22日 11:04
  • 3846

51单片机汇编实现冒泡排序

今天为了复习课本上面的程序,就实地检验了下这个程序,当年可是学过微机原理里的冒泡排序的,结果移植平台后又是如此麻烦,呵呵,网上贴吧,论坛,知道,文库上面拜托你们的程序能不能靠谱点!!! 第一种常见的...
  • u013457167
  • u013457167
  • 2015年06月07日 11:37
  • 2752
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汇编_ASM_选择排序
举报原因:
原因补充:

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