目标:20个有符号数,利用冒泡法进行排序,显示原数据和排好序的数据
运行结果如图
代码
STACK SEGMENT STACK 'STACK'
DW 100H DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
INITBUF DW 20 ;存储初始的20个数据(冒泡排序要遍历10次)
DW 1,-256,2,0,3,-255,-44,37,43,20
DW 0,7,110,321,-999,-70,666,-8,8,0
;INITBUF DW 20 ;(冒泡排序要遍历19次)
; DW 9,8,7,6,5,4,3,2,1,0
; DW -10,-9,-8,-7,-6,-5,-4,-3,-2,-1
SORTBUF DW 20 ;存储排序好的数据
DW 20 DUP(?)
LPFLAG DW 0 ;为0表示已排序好,用于提前结束冒泡循环
MESS1 DB 'Initial Data:','$'
MESS2 DB 0AH,0DH,'Sorted Data:','$'
MESS4 DB 0AH,0DH,'NAM:dlj_luo','$'
MESS5 DB 0AH,0DH,'NO.20230425','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK ;分配定义段
START:
MOV AX, DATA
MOV DS, AX