0
jmp_gen_exp:
    la      k0, gen_exp_handler         # requires jump indirect
    jr      k0
    nop

コンパイラは上記のコードを生成して

000019bc:    8f9affc8   lw  $26,-56($28) //lw k0,-56(gp)        
000019c0:    00000000   nop             
000019c4:    275a17d8   addiu   $26,$26,6104=0x17d8   //addiu k0,k0,6104    
000019c8:    03400008   jr  $26     //jr k0

どうすれば gp レジスターの使用を避けることができますか?

4

1 に答える 1

1

の正確なアドレスがわかっている場合は、疑似命令を使用してそのアドレスを register にロードgen_exp_handlerできます。たとえば、アドレスが次の場合に発行できるとします。li$26gen_exp_handler0x12345600

  li $k0, 0x12345600
于 2013-02-05T15:07:36.500 に答える