早教吧作业答案频道 -->其他-->
将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位无符号数按递减次...的网友还看了以下:
52单片机的题目,本人刚学一个月,实在有点搞不定,求助啊.有注释、能直接使的追加100分三个按键数 2020-05-14 …
请给我60道五年级分数加减递等式计算题、分数简算题、分数解方程分数递加减等式计算题:每题三个分数, 2020-05-16 …
1若x的绝对值等于2减根号3则x等于?2实数a,b在数轴上对应点的位置如图所示化简a的绝对值减根号 2020-06-03 …
初二数学紧急、紧急、计算:(1)(7根号x减根号y)(根号x加2根号y)(2)(根号a减根号b分之 2020-06-05 …
计算机组成之补码除法补码不恢复余数除法中,异号相除时,够减商0,不够减商1.我理解的够减是余数是正 2020-06-20 …
一.3加根号2减根号3(保留两个有效数字)二.根号3除以根号2(精确到0.1)三.π除以2减2乘根 2020-07-30 …
微机原理汇编加减法,标志位OF的判断是不是两个异号数相加或同号数相减都不会导致OF置1只有两个同号 2020-07-30 …
根号整数与分数要怎么乘,加,减、除?.比如7倍根号三减根号三分之一怎么算5倍根号8减去3倍根号32不 2020-11-07 …
小胖家住在一个小区里,这个小区的门牌号从1号开始,按着次序编下去.如果除小胖家外,其余各家的门牌号数 2020-11-20 …
平方根和立方根问题1.已知根号a减4在实数范围有意义,化简4减a的绝对值减a减2的绝对值.2.已知9 2020-12-31 …
相关搜索:将10个8位无符号数按递减次序排序