将10个8位无符号数按递减次序排序

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/06 08:10:44
将10个8位无符号数按递减次序排序将10个8位无符号数按递减次序排序将10个8位无符号数按递减次序排序;本程序在MASMPlus1.2集成环境下通过编译,经过调试,运行正确.CodeSegmentAs

将10个8位无符号数按递减次序排序
将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 ;编译到此结束
另外,虚机团上产品团购,超级便宜

将10个8位无符号数按递减次序排序 OPENCV将图像数据变为4位无符号数 微机 求10个16位无符号数中最小值,并显示结果求10个16位无符号数中最小值,并显示结果 微机 求10个16位无符号数中最大值,并显示结果. 将给定数组a中,放入10个整数,按每数各位之和(千位+百位+十位+个位)从小到大排序并输出.将给定数组a中,放入10个整数,按每数各位之和(千位+百位+十位+个位)从小到大排序并输出 请简述算法并编写完整程序将AL中的8位无符号数转换为压缩型BCD数放入AX中. C语言32位有符号数和无符号数之间怎么强制转换例如有个32位有符号数 -1946090562转为无符号的 2348876734不要用printf函数 8位二进制数,表示无符号的十进制数,范围是 ;表示带符号的十进制数,范围8位二进制数,表示无符号的十进制数,范围是 ( ) ;表示带符号的十进制数,范围是( ) 最大的10位无符号二进制整数转换成十进制数是( 1023),这个无符号数理解,是否有有符号数? vb中利用随机函数产生30个不同的三位正整数,打印出这30个数,然后将它们按从大到小的次序排序 8位无符号二进制数能表示的最大十进制数是【 】. 用8位无符号二进制数能表示的最大十进制数为____.为什么? 8位无符号二进制数能表示的最大十进制数是多少 8位无符号二进制数能表示的最大十进制数是? 8位无符号二进制数能表示的最大十进制数是多少?为什么? 设计一个程序,求10个无符号数中最大值,并将最大值存入变量MAX中 C语言 冒泡排序问题 将输入的10个数按由大到小的次序排序并输出以下是起泡排序程序,将输入的10个数按由大到小的次序排序并输出.填空并调试.#include stdio.hvoid main(){ int i,j,a[10],temp; /*定义 6、8位微机所表示的无符号数、带符号数补码、BCD码的范围分别是多少