汇编语言 编写程序将乱序英文字符串按照从小到大的顺序重新排列

这道题可以通过C语言的冒泡排序法来实现;

代码实现如下:

DATA SEGMENT
    a db 'qwertyuioplkjhgfdsazxcvbnm'
    b db '0'
    d db 26
DATA ENDS

CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX
    mov cx,25
    mov si,0
    mov di,1
    mov ax,10
;循环排序
tim:
    mov al,a[si]
    mov bl,a[di]

    cmp al,bl
    jge duan
FLAG1:
    INC SI ;自增
    INC di ;自减
    cmp cx,1
    jle duan1 ;cx减到1时跳转程序重新对cx赋值
FLAG2:
    loop tim

	MOV SI,0
	MOV CX,26
;显示字符串
T:
	mov dl,a[SI]
	MOV AH,02H
	INT 21H
	INC SI
loop T
	MOV AH,4CH
	INT 21H
duan:
    mov a[si],bl ;调换位置
    mov a[di],al
    JMP FLAG1
duan1:
    dec d
    mov cl,d
    mov si,0
    mov di,1
    jmp FLAG2
CODE ENDS
	END START

以下是运行结果:

 可以看到被打乱的26个英文字母按从小到大的顺序输出。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值