汇编语言八 编写程序实现,将缓冲区BUFFER中的100个字按递增排序

本文介绍了如何使用汇编语言编写程序,对缓冲区BUFFER中的100个字进行递增排序。详细阐述了程序设计思路和代码实现过程。
摘要由CSDN通过智能技术生成

1.题目要求:
编写程序实现,将缓冲区BUFFER中的100个字按递增排序
2.代码:

DATAS SEGMENT 
A dw 100,344,3435,43433,3438,343,134,80,8,1000,65535,54,45 
N=$-A ;计算数字所占的字节数 
DATAS ENDS 
CODES SEGMENT 
ASSUME CS:CODES,DS:DATAS 
START:MOV AX,DATAS 
MOV DS,AX 
MOV SI,0 ;SI遍历数字;前一个数的地址 
MOV CX,N/2-1 ;设置循环次数,M(M=N/2)个数需要,循环M-1次 
CALL BUBBLE ;调用BUBBLE将原来的数排序 
;输出排序后的数 
MOV CX,N/2 ;循环M次输出排序后的M个数 
MOV SI,0 ;SI遍历排序后的数 
MOV DI,0 ;用DI记录数字的位数 
MOV BP,N+5 ;BP用于遍历存储的转化后的字符的位置 
SHOW: PUSH CX ;循环次数入栈 
MOV DX,0 ;由于将要进行16位除需要置高16位为0 
MOV AX,[SI] ;低16位为排序后的数 
CALL DTOC ;调用DTOC将十进制数转换为字符串 
CALL SHOW_STR ;调用SHOW_STR将一个数转化得到的字符串输出 
ADD SI,2 ;下一个数 
POP CX ;循环次数出栈栈 
LOOP SHOW 

MOV AH,4CH 
INT 21H 
;冒泡排序 
BUBBLE PROC 
L1: PUSH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值