主题:求助:用汇编如何交替冒泡 怎么还没有人来答啊 5555555555
设计汇编语言程序,实现冒泡排序的功能,具体功能要求如下:
(1)将字数组ARRAY中的n个数据,用冒泡排序法排列在原数组中;
(2)显示输出排序后的结果;
(3)冒泡时,从前往后扫描与从后往前扫描交替进行。
[em18]
这个是不是要交替??就下面这个程序怎样按照上面要求交替冒泡?
DAT SEGMENT
BUF DB 'S','D','X','V','A'
DB 13,10,'$'
COUNT EQU $-BUF-3
DAT ENDS
STAC SEGMENT STACK
DW 100 DUP(?)
STAC ENDS
COD SEGMENT
ASSUME CS:COD , DS:DAT
ASSUME SS:STAC , ES:DAT
STA: MOV AX,DAT
MOV DS,AX
MOV AH,COUNT-1
L1: MOV CH,AH
XOR CL,CL
LEA SI, BUF
L2: MOV AL,[SI]
CMP AL,[SI+1]
JC L3
XCHG AL,[SI+1]
MOV [SI],AL
MOV CL,1
L3: INC SI
DEC CH
JNZ L2
CMP CL,1
JC L4
DEC AH
JNZ L1
L4: MOV DX,OFFSET BUF
MOV AH,9
INT 21H
COD ENDS
END STA
请高手指教啊 急待中
(1)将字数组ARRAY中的n个数据,用冒泡排序法排列在原数组中;
(2)显示输出排序后的结果;
(3)冒泡时,从前往后扫描与从后往前扫描交替进行。
[em18]
这个是不是要交替??就下面这个程序怎样按照上面要求交替冒泡?
DAT SEGMENT
BUF DB 'S','D','X','V','A'
DB 13,10,'$'
COUNT EQU $-BUF-3
DAT ENDS
STAC SEGMENT STACK
DW 100 DUP(?)
STAC ENDS
COD SEGMENT
ASSUME CS:COD , DS:DAT
ASSUME SS:STAC , ES:DAT
STA: MOV AX,DAT
MOV DS,AX
MOV AH,COUNT-1
L1: MOV CH,AH
XOR CL,CL
LEA SI, BUF
L2: MOV AL,[SI]
CMP AL,[SI+1]
JC L3
XCHG AL,[SI+1]
MOV [SI],AL
MOV CL,1
L3: INC SI
DEC CH
JNZ L2
CMP CL,1
JC L4
DEC AH
JNZ L1
L4: MOV DX,OFFSET BUF
MOV AH,9
INT 21H
COD ENDS
END STA
请高手指教啊 急待中