汇编 字符串 冒泡排序

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:18:46
1.对一个字符串变量中的字符按ASCII码由小到大进行冒泡排序(如'312'->'123'),并使用DOS的9号功能调用输出排序后的字符串。
变量定义:

str db '13a296dAF','$' ;字符串

slen db 9 ;字符串长度

2.用户输入字符串(以’%’字符结束,长度大于1,不超过70),对字符串中的字符进行冒泡排序,输出排序后的字符串。

3.对用户输入的字符串进行判断,若字符串长度为0,程序返回;若字符串含相同字符,提示用户重新输入;否则对字符串中的字符排序输出,并等待用户输入下一个字符串。

STACK SEGMENT
DB 1314 DUP(?)
STACK ENDS
DATA SEGMENT
STR1 DB '123asd5AF$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
PUSH DS
MOV AX,0
PUSH AX

MOV AX,DATA
MOV DS,AX

MOV CX,9
DEC CX

LOOP1: MOV DI,CX
MOV BX,0
LOOP2: MOV AL,STR1[BX]
CMP AL,STR1[BX+1]
JGE CONTINUE
XCHG AL,STR1[BX+1]
MOV STR1[BX],AL
CONTINUE: ADD BX,1
LOOP LOOP2

MOV CX,DI

LOOP LOOP1
MOV AH,9