在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 3824|回复: 3

我写的一个小程序,肯请大家指点,多谢了!

[复制链接]
发表于 2007-3-2 23:22:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
mips初学者,在国外实在很难找到帮助,恳请大家多多指教了,给大家鞠躬了!

题目是这样的:给出一段C程序,用MIPS翻译一下。

C程序:
void swap(int *v, int k)
{
int w;
w = v[k];
v[k] = v[k+1];
v[k+1] = w;
}

void arrange(int *v, int n)
{
int i, j;
for( i=0; i<n; i++ )
{
for( j=i-1; j>=0 && v[j]>v[j+1]; j-- )
{
swap(v,j);
}
}
}


我编的程序:

i-> $S0
j-> $S1
*V-> $S2
w-> $V0
n-> $S4


swap:

or $V0 ,$r1, $zero
or $r1, $r2, $zero
or $r2, $V0, $zero



arrange:

add $S0, $zero, $zero
L1:
slt $t0, $S0, $S4
beq $t0, $zero,L4

subi $S1, $S0, 1
L2:
slt $t0, $S1,$zero
bne $t0 $zero, L3

sll $t1, $s1, 2
add $t1, $s1,$t1
addi $t2, $t1, 4
lw $t3, 0($t1)
lw $t4, 4($t2)

sgt $t0, $t3, $t4
beq $t0, $zero,L3

add $r1, $t3,$zero
add $r2,$t4,$zero
jal swap

subi $S1, $S1,1

j L2

L3:
addi $S0, $S0,1

j L1

L4:
end

[ 本帖最后由 ALFA_O 于 2007-3-6 04:15 编辑 ]
发表于 2008-8-31 19:03:36 | 显示全部楼层
还是自己把好关吧
发表于 2009-1-28 18:28:58 | 显示全部楼层
反汇编,直接得到结果
发表于 2009-2-25 21:20:29 | 显示全部楼层
   kantudong
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 18:30 , Processed in 0.035086 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表