早教吧作业答案频道 -->其他-->
将10个8位无符号数按递减次序排序
题目详情
将10个8位无符号数按递减次序排序
▼优质解答
答案和解析
; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确.
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法:Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
; 冒泡排序:对从MEM单元开始的N个8位无符号数降序排序
; 入口参数:ds:SI=数组地址,CX=数组元素个数
Bubbling Proc Near
push es
push si
push di
push cx
push ax
push ds
pop es
dec cx ;外循环次数
cld
@@Scanning:push cx ;入栈保存外循环次数
push si ;入栈保存数组地址
@@Compare:mov di,si ;当前数组元素地址赋给目的变址寄存器,以备交换之用
lodsb ;将当前数组元素读入累加器
cmp al,[si] ;当前数组元素与相邻的下一个数组元素相比较
jae @@NextOne ;若大于或等于,不作数据交换,处理下一个数组元素
xchg al,[si] ;若小于,交换数组元素
stosb ;保存数值较小者
@@NextOne:loop @@Compare ;处理下一个数组元素
pop si ;数组地址出栈
pop cx ;外循环次数出栈
loop @@Scanning ;下一趟比较
pop ax
pop cx
pop di
pop si
pop es
ret
Bubbling EndP
; -------------------------------------
MEM db 12,56,253,200,10,99,78,75,63,100
N equ $-MEM
Press_Key db 7,13,10,13,10,'The complated.Press any key to exit...$'
Start:push cs
pop ds
mov cx,N ;数组元素个数
lea si,MEM ;数组地址
call Bubbling
; -------------------------------------
Exit_Proc:Output Press_Key ;提示操作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
另外,虚机团上产品团购,超级便宜
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法:Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
; 冒泡排序:对从MEM单元开始的N个8位无符号数降序排序
; 入口参数:ds:SI=数组地址,CX=数组元素个数
Bubbling Proc Near
push es
push si
push di
push cx
push ax
push ds
pop es
dec cx ;外循环次数
cld
@@Scanning:push cx ;入栈保存外循环次数
push si ;入栈保存数组地址
@@Compare:mov di,si ;当前数组元素地址赋给目的变址寄存器,以备交换之用
lodsb ;将当前数组元素读入累加器
cmp al,[si] ;当前数组元素与相邻的下一个数组元素相比较
jae @@NextOne ;若大于或等于,不作数据交换,处理下一个数组元素
xchg al,[si] ;若小于,交换数组元素
stosb ;保存数值较小者
@@NextOne:loop @@Compare ;处理下一个数组元素
pop si ;数组地址出栈
pop cx ;外循环次数出栈
loop @@Scanning ;下一趟比较
pop ax
pop cx
pop di
pop si
pop es
ret
Bubbling EndP
; -------------------------------------
MEM db 12,56,253,200,10,99,78,75,63,100
N equ $-MEM
Press_Key db 7,13,10,13,10,'The complated.Press any key to exit...$'
Start:push cs
pop ds
mov cx,N ;数组元素个数
lea si,MEM ;数组地址
call Bubbling
; -------------------------------------
Exit_Proc:Output Press_Key ;提示操作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
另外,虚机团上产品团购,超级便宜
看了 将10个8位无符号数按递减次...的网友还看了以下:
排一排.(1)按从大到小的顺序排列:500毫米;200厘米;1米;5000米,(2)按从小到大的顺 2020-05-13 …
若在0-1背包问题中各物品是依重量递增排列时,其价值恰好依递减序排列.对这个特殊的0-1背包问题, 2020-07-10 …
在待排序的序列中,很少量元素不在最终的正确位置,但离正确位置都不远,简述应使用哪种排序方法最好.在 2020-07-23 …
WORD目录排列问题我这有本年鉴的目录,要求按标引词首字汉语拼音(同音字按声调)顺序排列;同声同调 2020-07-23 …
输入N个整数,存入一个数组中。1)应用某种排序算法将这N个数有大到小的顺序排序,输出排序的结果并存入 2020-11-17 …
在Excel中,只以某列为关键字作升序排序时,则该列上有完全相同项的行将A.保持原始次序B.逆序排列 2020-12-05 …
用快速排序算法,对下列数组排序60566599221688100a[0]a[1]a[2]a[3]a[ 2020-12-05 …
SQL排序问题,排序两列,先排序第一组数据,如果出现相等数据,则按照第二列数据的排序方式排序。比如有 2020-12-05 …
关于排列组合有序排列,无序组合那请问排队问题是属于有序还是无序比如说1,2,3,排队那么排成1213 2020-12-05 …
关于数据结构的题1、填空题1.快速排序和堆排序的平均时间复杂度分别为和。2、选择题1.下面给出的四种 2021-01-14 …
相关搜索:将10个8位无符号数按递减次序排序