我试图弄清楚如何将一些C声明转换为MIPS。我有:
main()
{
int ia = 7;
int ib = 0x23;
int ic,id,ie,ig;
ia = 0x1234;
ib = ia;
ic = ia + ib;
id = ic | ib & 17;
ie = ~ig;
ig = (ia - ib) ^ (ic + id);
}
如果我只是假设.data已经被声明并且专注于.text部分,我开始尝试做的是将十六进制值转换为十进制值以用作immediates,然后存储这些值:
li $s0, 7
sw $s0, ia
li $s0, 35
sw $s0, ib
li $s0, 4660
sw $s0, ia
我觉得这可能是错的。什么是正确的方法?