将10个8位无符号数按递减次序排序
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 02:18:45
将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位无符号数按递减次序排序
微机 求10个16位无符号数中最大值,并显示结果.
微机 求10个16位无符号数中最小值,并显示结果
C语言 冒泡排序问题 将输入的10个数按由大到小的次序排序并输出
VB排序题.:随即产生10个2位数,按从大到小递减的顺序排列,并显示排序结果.急
2个16位无符号数相加 显示结果(微机的)
请简述算法并编写完整程序将AL中的8位无符号数转换为压缩型BCD数放入AX中.
用汇编语言设计一个程序,求10个无符号数中的最大值.并将最大值存入变量MAX中
设计一个程序,求10个无符号数中的最大值.并将最大值存入变量MAX中
设计一个程序,求10个无符号数中最大值,并将最大值存入变量MAX中
8位二进制数,表示无符号的十进制数,范围是 ;表示带符号的十进制数,范围
最大的10位无符号二进制整数转换成十进制数是( 1023),这个无符号数理解,是否有有符号数?