mirror of https://github.com/Nonannet/pelfy.git
36 lines
802 B
C
36 lines
802 B
C
|
|
//Assebly x86-64 gcc 14.1 -O3
|
|
|
|
//dummy for heap variables
|
|
float read_float_ret = 1337;
|
|
|
|
//Dummy helper functions
|
|
int __attribute__ ((noinline)) result_float(float ret1){
|
|
asm ("");
|
|
return (int)ret1;
|
|
}
|
|
|
|
int __attribute__ ((noinline)) result_float_float(float ret1, float ret2){
|
|
asm ("");
|
|
return (int)ret1 + (int)ret2;
|
|
}
|
|
|
|
//Operations
|
|
void add_float_float(float arg1, float arg2){
|
|
result_float(arg1 + arg2);
|
|
//addss %xmm1, %xmm0
|
|
//jmp result_float
|
|
}
|
|
|
|
void mul_float_float(float arg1, float arg2){
|
|
result_float(arg1 * arg2);
|
|
//mulss %xmm1, %xmm0
|
|
//jmp result_float
|
|
}
|
|
|
|
//Read global variables from heap
|
|
void read_float(float arg1){
|
|
result_float_float(arg1, read_float_ret);
|
|
//movss read_float_ret(%rip), %xmm1
|
|
//jmp result_float_float
|
|
} |