Q:如何设计汇编语言程序对一组数进行降序排列?
A:基本原理:本实验对一组32位数的降序排列。List列表的第一个数为要排序的数据的个数,其余部分为待排列的数据。列表中的数据必须“就地”排序,即在排序过程中不申请多余的存储空间,只利用原来存储待排列的数据的存储空间进行比较和交换的数据排序。使用Nios II汇编语言编写主程序和子程序SWAP,List列表的首地址保存在一个寄存器中,并将其传递给SWAP子程序并将其返回值保存到另一个寄存器r2再传递给主程序。
编译下载程序后在Memory窗口观察到待排序的数据位于0x00000060~0x00000084区间,且数据处于与List列表相同的未排序的状态;运行程序后可以再观察到数据已变成降序排列。