实验内容
从键盘输入10个无符号字数并从大到小进行排序,排序结果在屏幕上显示出来。
实验步骤
设计遵循以下步骤:①C语言设计
②单元代码转写及变量映射
③单元伪汇编设计
④单元测试及debug
⑤回到步骤①,直到程序完成
代码设计
整个程序可以分为三个单元:读入读入单元,排序单元,输出单元。由于各单元的设计方法,下面以读入单元为例展开叙述。
1.首先我们进行C语言设计//read in
int arr[10];
for (int i =0; i <10; i++) {
scanf("%d", &arr[i]);
}
可以看到,读入单元十分简单,一个for循环,然后读入数据到arr[i]就好了。
2.变量映射及代码转写
变量映射,就是把涉及到的变量对应为寄存器。代码转写,就是把其中的循环,及分支判断用goto转写成顺序结构语句,虽然实际运行的时候是有循环的。
各个涉及变量映射到对应寄存器,如表1所示。
而对于上一个步骤的C代码,我们可以如下转写:申请空间,基准地址为arr,长度为10 int,即4 word
int i = 0;