在写中断前先写一篇排序的程序详解吧。
这一小节所使用的排序算法是冒泡法。
冒泡法排序
Q1:怎么知道要比较几轮?
A:用工作寄存器Rx记录每一轮数字交换的次数。当Rx等于0,即没有交换说明已经排好序了。
(当然,这只是其中一种方法,你也可以自己根据要排序的数字个数,自己设置好要执行几轮)
ORG 0000H
JMP MAIN ;跳转到主函数
;写入要排序的数(子函数)
SHU: MOV 20H, #02CH
MOV 21H, #02EH
MOV 22H, #02FH
MOV 23H, #04DH
MOV 24H, #04CH
MOV 25H, #0D4H
MOV 26H, #0E3H
MOV 27H, #0A7H
MOV 28H, #07AH ;以上为9个要比较的数,把他们依次放到地址为:20H~28H
RET
/********************************************************************************/
;