[IBMPC汇编语言求排序程序]data segment num dw 20 dup(?);存输入数列 i dw 0 ;数列个数 max dw ? min dw ? char1 db 'The maximum number is:$' char2 db 0dh,'The minimum number is:$' char3 db 0dh,'...+阅读
“di=?” 不知道, [di] 传送到 bl、dl的是什么? bx的高位“bh=?”也不知道 !
程序看着有点乱。给你一个子程序,你研究下:
;===============================
; 单个字符串内部的排序(冒泡排序)----其实也适用于字节数据排序
sort proc near
; 串长度置入cx,串(或数组)首地址置入 si
push ax
push cx
push dx
push si
push di
pushf
push cx
pop dx
dec dx
sortl1:
mov cx,dx
mov di,si
sortl2:
mov al,[di+1]
cmp al,[di]
ja sortnext ;从大到小还是从小到大,改这句即可, 或 jb/jg/jl
xchg al,[di]
mov [di+1],al
sortnext:
inc di
loop sortl2
dec dx
jnz sortl1
popf
pop di
pop si
pop dx
pop cx
pop ax
ret
sort endp
;====================================
别看有那么多压栈、弹栈操作,关键的代码很少! 这个代码是最优的。把它研究透。
以下为关联文档:
汇编语言的排序问题;运行时注意:每个不超过3个字符的十进制数以回车结束,一组十进制数以空格结束,即当输入空格时,就会在屏幕上显示结果。 DSEG SEGMENT ;数据段:在此处添加程序所需的数据 number dw...
汇编语言实现排序以下是输入20个以下的字符,用冒泡法按从小到大排列输出的程序,希望对你用所帮助: data segment da1 db 20,?,20 dup (0) data ends stack segment stack dw 20 dup (0) stack e...
求汇编语言排序程序的理解8086汇编, 数据段 一开始用org 伪指令来指定了数据存放的区域 . 1000h 代码段 一共两个函数: 一个主函数 main,一个功能函数outputax. 整个代码的入口点在main函数的第一行star...
帮忙汇编语言数据的排序急急急急急急!1;----------------------------------------------------- SORT: ;排序程序. MOV B, #49 ;第一轮排序时,比较49次. S1: MOV R0, #20H ;数据区的起始地址. CLR PSW.5 ;清除"交换"标志...
求一段8086的汇编语言程序对50个带符号字节数据进行排序将排;---------------------------------- ;冒泡排序 ;负数显示补码如-1显示65535 ;如想增加数据只需在a变量中添加, ;同时长度len要相应的更改 ;----------------------------------...
用有符号数实现排序的汇编语言程序DSEG SEGMENT n equ 5 buf db n dup(?) DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG MAIN PROC FAR ;主程序入口 mov ax, dseg mov ds, ax mov cx,n dec cx loop1: mov...
汇编语言 10个数排序:流程图稍有点繁,下列子程序可以满足流程图的排序要求。 SORT: MOV R0, #30H MOV A, R0 MOV R1, A INC R1 LOOP: MOV A, R0 MOV B, R1 CJNE A, B, SSS SSS: JNC ZZZ MOV R0, B...
汇编语言排序问题;修改完毕,测试结果正确 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT MSR DB '423756$' ;不要逗号 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STAC...
汇编语言起泡排序算法这是个排序程序,应该把输出程序中的6个数字,排序输出。 但是程序中略有失误,输出了无效的内容。 下面的已经改好,可以试试看: DATA SEGMENT A DW 03H, 0DH, 08H, 9DH, 81H, 0FDH...