Loading 64 bit mode from C code in 32 bit mode
I tried to use in C “extern void (function_name)” then call that function in my C code. It got to the assembly code that i used the extern on. Problem was it setted up 64 bit mode but when it needed to jump to the long mode it failed. All code is compiled right and other stuff is all correct, only problem is with the jmp
Loading 64 bit mode from C code in 32 bit mode
I tried to use in C “extern void (function_name)” then call that function in my C code. It got to the assembly code that i used the extern on. Problem was it setted up 64 bit mode but when it needed to jump to the long mode it failed. All code is compiled right and other stuff is all correct, only problem is with the jmp
Loading 64 bit mode from C code in 32 bit mode
I tried to use in C “extern void (function_name)” then call that function in my C code. It got to the assembly code that i used the extern on. Problem was it setted up 64 bit mode but when it needed to jump to the long mode it failed. All code is compiled right and other stuff is all correct, only problem is with the jmp
Zero-cost cast via inline assembly
Is it possible to manufacture, as a macro, a sort of zero-cost cast via inline assembly?
x86 Linux calling convention
According to the Linux x86 calling convention, certain register states are saved by the caller on the stack frame and certain registers by the callee. Some of the generated assembly from clang for C that I have seen explicitly does some of the push and pop. But if I am hand writing assembly, is the application of calling convention implicit of do I as a programmer have to make sure to abide it?