有问题的代码部分试图解码 MIPS 指令正在使用的寄存器。
这是通过传入寄存器的整数值来实现的,然后应该返回一个包含寄存器名称的字符串。执行此操作的王子语句在这里,它调用 getReg 来获取字符串。
printf("$%d aka $%s\n", itype->rs, getReg(itype->rs));
到目前为止,我已经尝试过将它们连接起来(没有 case 语句):
char* getReg(int d) {
char out[4];
sprintf(out, "a%d", (d - 4));
return out;
}
但输出结果如下:
$6 又名 $ìü(
什么时候应该:
$6 又名 $a2
我哪里错了?