After
Trying to call a method that is defined in the assembly, I error "ESP Receiving the value of a function was not properly saved throughout the call. ", considering using Visual Studio 2012 other questions, a common factor is not to mention that the assembly could not The exit was going to be out of each label.
I am getting this error, but leave the code with the following code, which is not including
.
section .bss vs: resb 13; 12-byte vendor string + null four NS: Ridge 49; 48-byte proc global _meta_vendor global _meta_procname _meta_vendor Ktext name + minus four sections: Push EBP mov EBP, esp mov eax, 0h Seepiuaidi mov [v], EBX mov [vs 4], EDX mov [vs. + 8], ECX mov byte [vs. + 12], 0 hours mov eax, versus retired _meta_procname: push EBP mov EBP, esp mov eax, 80000002h Seepiuaidi mov [ns], eax mov [ns 4], EBX mov [ns + 8], ECX mov [Ns + 12], adx silent eX, 80000003 ccid mov [ns +16], ex mov [ns + 20], ebx mu [ns + 24], xx mu [ns + 28], adx Moaks AX, 80000004 H Seepiuaidi Moje [ns + 32], EX mov [ns + 36], Ibiaks MOU [ns +40] XX MOU [ns +44], ADX Mobi byte [ns + 48], 0 H Miaks AX , Ns replay write The function prototype for those labels is in a header file, which only contains:
#include & lt; Cstdint> Extern "c" {char * meta_vendor (); Char * meta_procname (); } Any information Why am I receiving this error?
Note, if I click "Continue" on the popup that appears, then the expected value is displayed.
The problem was resolved by adding
push ebayx and pop EBX as shown below:
_meta_vendor: push ebp mov ebp, esp push ebx; Code ... pop ebx leave leave
No comments:
Post a Comment