使用$ t0而不是MIPS中的$ 8

时间:2014-10-24 18:31:00

标签: assembly mips cpu-registers

查看各种MIPS参考,您可以使用公共名称或寄存器编号访问寄存器。声明中是否有任何差异:

addi $t0, $t0, 1
addi $8, $8, 1

另外,

addi $4, $t3, $zero

基本上只是意味着$ t2 = $ t4,对吗?

1 个答案:

答案 0 :(得分:2)

  1. 它们完全相同,是的。如果您想确定,请汇编并检查输出二进制文件。示例文件:

        .globl f
    f:
        addi $t0, $t0, 1
        addi $8, $8, 1
    

    然后组装并测试:

    $ clang -c example.s
    $ objdump -D example.o
    example.o:     file format elf32-tradlittlemips
    
    
    Disassembly of section .text:
    
    00000000 <f>:
       0:   21080001    addi    t0,t0,1
       4:   21080001    addi    t0,t0,1
    

    请注意,两种编码都是相同的(因此会以相同的方式进行反汇编)。

  2. 是的,addi $4, $t3, $zero只是将$t3的值放入$t4