mirror of
https://github.com/n64decomp/sm64.git
synced 2024-10-20 13:37:37 -04:00
70 lines
992 B
C
70 lines
992 B
C
|
const char buf1[1] = {1};
|
||
|
float func1(void) {
|
||
|
"func1";
|
||
|
return 0.1f;
|
||
|
}
|
||
|
const char buf2[1] = {2};
|
||
|
void func2(void) {
|
||
|
*(volatile float*)0 = -3.5792360305786133f;
|
||
|
*(volatile float*)0 = -3.5792362689971924f;
|
||
|
// "func2";
|
||
|
// return 0.2f;
|
||
|
}
|
||
|
const char buf3[1] = {3};
|
||
|
int func3(int x) {
|
||
|
switch(x) {
|
||
|
case 0:
|
||
|
return 1;
|
||
|
case 1:
|
||
|
return 2;
|
||
|
case 2:
|
||
|
return 3;
|
||
|
case 3:
|
||
|
return 4;
|
||
|
case 4:
|
||
|
return 5;
|
||
|
case 5:
|
||
|
return 4;
|
||
|
case 6:
|
||
|
return 4;
|
||
|
case 7:
|
||
|
return 4;
|
||
|
default:
|
||
|
return 3;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#if 1
|
||
|
GLOBAL_ASM(
|
||
|
.rdata
|
||
|
.word 0x66756e63 # func
|
||
|
.word 0x34000000 # 4\0\0\0
|
||
|
.word jumptarget + 4
|
||
|
|
||
|
.late_rodata
|
||
|
glabel rv
|
||
|
.word 0x3e4ccccd # 0.2f
|
||
|
.word jumptarget + 8
|
||
|
|
||
|
.text
|
||
|
glabel func4
|
||
|
lui $at, %hi(rv)
|
||
|
glabel jumptarget
|
||
|
jr $ra
|
||
|
lwc1 $f0, %lo(rv)($at)
|
||
|
jr $ra
|
||
|
nop
|
||
|
jr $ra
|
||
|
nop
|
||
|
jr $ra
|
||
|
nop
|
||
|
jr $ra
|
||
|
nop
|
||
|
)
|
||
|
#else
|
||
|
float func4(void) {
|
||
|
"func4";
|
||
|
return 0.2f;
|
||
|
}
|
||
|
#endif
|