4.3.3 参考程序
2025年09月21日
4.3.3 参考程序
图4-14 冒泡循环程序流程图
通过上述分析,可以进一步设计出程序流程图与参考程序。冒泡排序循环程序流程图如图4-14所示。
对比图4-13原理框图,其主要进展是:
1)按照循环程序的控制要求,设置工作寄存器R2作为内循环计数器,设置位单元7FH作为外循环结束与否的控制标志位。
2)按照图4-13的分析,每一轮冒泡排序过程含n-1次两两比较,根据这一特点,在内循环初始化时,递减计数器R2的初始值等于n-1。
3)图4-13还表明,冒泡排序完成后,在新一轮的两两比较内循环过程中就不再发生数据交换。利用这一特点,可以巧妙地用交换标志位7FH来控制外循环。因为,7FH的初始值为零,只有当内循环中发生数据交换时7FH才置1,这样在一轮内循环结束时,若7FH为零,外循环及整个程序就可结束。
4)用工作寄存器R0作为数据指针,采用内存单元20H与21H作为两两比较时的临时存数单元。这些都是常用的设计技巧,在下一节将进一步分析说明其工作原理。
参考程序如下,其汇编结果见表4-1。
表4-1 参考程序汇编结果
(续)