void init() { asm( "bl get_r2;" "get_r2:;" "mflr 3;" "lis %r4, get_r2@toc@h;" "ori %r4, %r4, get_r2@toc@l;" "sldi %r4, %r4, 32;" "sradi %r4, %r4, 32;" "sub %r2, %r3, %r4;" "addi %r2,%r2,0x7000;" "addi %r2,%r2,0x1000;" ); }