c语言转换为mips_第1页
c语言转换为mips_第2页
c语言转换为mips_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告课程名称 计算机体系结构 实验项目 MIPS与C语言的互换 实验仪器 个人计算机 系 别 _ 计算机学院_ 专 业 _ 网络工程 班级/学号 网工0903/2009011422 学生姓名 _张昭_ 实验日期 _成 绩 _ 指导教师 _ _侯凌燕_课程作业三-MIPS与C语言的互换(学号尾数除4取余)将下面c语言转换为mips2. The following C code has been converted to MIPS assembly codewhile (candidate_gcd <= min) if (a mod candidate_gcd) = 0) &

2、;&(b mod candidate_gcd) = 0) current_gcd = candidate_gcd;candidate_gcd = candidate_gcd + 1;以下为我转换后的代码:首先设置变量:candidate_gcd = $t0min = $t1a mod candidate_gcd = $t2b mod candidate_gcd = $t3current_gcd = $t4$t6 = 0$t5 代码如下:(绿色为注释)Label3: /设置标签Label3 ble $t0,$t1,Label /当$t0小于等于$t1时,跳到标签LabelLabel: /

3、设置标签Label Add $t5,$t2,$t3 /将$t2和$t3相加赋值给$t5 Li $t6,0 /给$t6赋值为0 Leq $t5, $t6,Label1 /判断如果$t6=$t5=0,跳到标签Label1Label1: /设置标签Label1 Move $t4, $t0 /$t4=$t0 Addi $t0, $t0,1 /$t0=$t0+1(自加加) J Label3 /跳到标签Label3,这里其实就是实现c语言中的while无限循环实验代码的设计思想:实验中的while循环的实现是靠跳转标签来实现的,当所有代码执行到最后时,自动跳转标签到Label3,这样就形成了while的无限循环,在Label3标签下的代码是判断当candidate_gcd <= min时,执行下面标签Label的代码,当a和b对candidate_gcd求余后都为0,这样通过对两个值的相加并赋值给$t5来看出两个求余后是否为零,因为求余后都为正数,所以不必考虑出现正负相加为0.这样再定义一个变量$t6并设置初值为0,当$t5=$t6=0时,跳转标签到Label1,执行标签Label1下的代码,将candidate_gcd中的值赋给current_g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论