/* Trampoline for mips CPU */ /* * Copyright 1996-1998 Bruno Haible, * * This is free software distributed under the GNU General Public Licence * described in the file COPYING. Contact the author if you don't have this * or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied, * on this software. */ /* Available registers: $2, $3. */ .set nobopt .set noreorder .text .globl main .ent main main: .end main .globl tramp .ent tramp tramp: /* We can assume that our own address (=tramp) is in $25. */ lw $2,24($25) lw $3,28($25) sw $3,0($2) lw $25,32($25) /* The called function expects to see its own address in $25. */ j $25 /* Some Mips hardware running Irix-4.0.5 needs this nop. */ nop /* We'll actually store the data words immediately after the code. */ /* The assembler just doesn't like ".word" inside section .text. */ .data $LC0: .word 0x12345678 $LC1: .word 0x73554711 $LC2: .word 0xbabebec0 .end tramp