c语言写成汇编语言程序 冒泡排序,MIPS汇编程序设计——冒泡排序

这篇博客详细介绍了如何将C语言的冒泡排序程序转换为MIPS汇编语言。通过C语言设计、单元代码转写、变量映射、伪汇编设计和单元测试,作者展示了如何读取10个无符号整数并进行降序排序,最后在屏幕上显示排序结果。博客中还强调了查阅文档、模块化设计和注释的重要性。
摘要由CSDN通过智能技术生成

实验内容

从键盘输入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转写成顺序结构语句,虽然实际运行的时候是有循环的。

951c9e7d5025ca91fad1056ae6626756.png

各个涉及变量映射到对应寄存器,如表1所示。

而对于上一个步骤的C代码,我们可以如下转写:申请空间,基准地址为arr,长度为10 int,即4 word

int i = 0;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值