永发信息网

怎么把C语言代码转换为MIPS?

答案:4  悬赏:10  手机版
解决时间 2021-02-14 14:21
  • 提问者网友:捧腹剧
  • 2021-02-13 17:37
怎么把C语言代码转换为MIPS?
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-02-13 19:11
把C语言代码转换为MIPS:
以下是c语言代码:
while (candidate_gcd <= min)
{
if (((a mod candidate_gcd) == 0) &&((b mod candidate_gcd) ==
0))
{
current_gcd = candidate_gcd;
}
candidate_gcd = candidate_gcd + 1;
}

以下为转换为mips后的代码:
首先设置变量:
candidate_gcd = $t0
min = $t1
a mod candidate_gcd = $t2
b mod candidate_gcd = $t3
current_gcd = $t4
$t6 = 0
$t5
代码如下:(绿色为注释)
Label3: //设置标签Label3
ble $t0,$t1,Label //当$t0 小于等于$t1 时,跳到标签Label
Label: //设置标签Label
Add $t5,$t2,$t3 //将$t2 和$t3 相加赋值给$t5
Li $t6,0 //给$t6 赋值为0
Leq $t5, $t6,Label1 //判断如果$t6=$t5=0,跳到标签Label1
Label1: //设置标签Label1
Move $t4, $t0 //$t4=$t0
Addi $t0, $t0,1 //$t0=$t0+1(自加加)
J Label3 //跳到标签Label3,这里其实就是实现c 语言
中的while 无限循环
全部回答
  • 1楼网友:廢物販賣機
  • 2021-02-13 20:15
MIPS?Million Instructions Per Second?还是你说的是LISP?追问应该是前者吧,就是有li、la、sw、$t0、$v0什么的那个,能在Mars里运行的
  • 2楼网友:几近狂妄
  • 2021-02-13 19:39
1、硬件平台是什么?pc上还是51上或者arm,mips?不同硬件平台汇编不同,编译器对程序的处理也就不同。用汇编一般都是考虑到可以直接访问寄存器,速度有优势,但最大的缺点是不能跨平台,可移植性很差。
2、MIPS架构(英语:MIPS architecture,为Microprocessor without interlocked piped stages architecture的缩写,亦为Millions of Instructions Per Second的相关语),是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。最早的MIPS架构是32位,最新的版本已经变成64位。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯