以上是基础版本
以上是改进版本
如果某次循环完成后发现并无交换,则可以判断为已经结束,所以以R2记录交换次数进行判断。
仍存在问题:
交换次数达到256次时,INC R2会导致归0,产生了和没交换一样的效果,出现错误。解决方案:有交换则直接置1,使用JB判断是否已经排序完成
采用(LOC-TAB-1)的方式计算需要循环次数,会导致在仅有一个数据时报错。可以添加JZ SHUT进行修补