MIPS stack frame (and “addiu” instruction confusion)
问题 I'm new to MIPS and am trying to understand the disassembly of a function. (EDIT: it is dynamically linked to /lib/ld-uClib.so.0 and uses some usual libc functions, so I assume it was written in C using the uClibc toolchain, and should therefore have that calling procedure and stack frame, etc.). At the start of the function it does 00400824 <practice_crackme>: 400824: 3c1c0fc0 lui gp,0xfc0 ; ??? 400828: 279c673c addiu gp,gp,26428 ; ??? 40082c: 0399e021 addu gp,gp,t9 ; ??? 400830: 27bd8020