Cosmos/source/IL2CPU.Tests/Tests/SimpleAddFunction/SimpleAddFunction.expected.asm

74 lines
1.3 KiB
NASM

format PE console
entry ___ENTRYPOINT___
section '.code' code readable executable
___ENTRYPOINT___:
call System_Void___Program_Main____
pushd 0
call [ExitProcess]
System_Void___Program_Main____:
mov ebp,esp
pushd ebp
pushd ebp
; IL: Nop
nop
; IL: Ldc_I4_1
pushd 01h
; IL: Ldc_I4_2
pushd 02h
; IL: Call System.Int32 Program::Add(System.Int32,System.Int32)
call System_Int32___Program_Add___System_Int32__System_Int32___
push eax
; IL: Stloc_0
pop eax
mov [ebp - 0Ch],eax
; IL: Ret
pop ebp
pop ebp
ret
System_Int32___Program_Add___System_Int32__System_Int32___:
mov ebp,esp
pushd ebp
pushd ebp
; IL: Nop
nop
; IL: Ldarg_0
mov eax,[ebp + 04h]
push eax
; IL: Ldarg_1
mov eax,[ebp + 08h]
push eax
; IL: Add
pop eax
add eax,[esp]
add esp,4
mov [esp],eax
; IL: Stloc_0
pop eax
mov [ebp - 0Ch],eax
; IL: Br_S Mono.Cecil.Cil.Instruction
; IL: Ldloc_0
mov eax,[ebp - 0Ch]
push eax
; IL: Ret
pop ebp
pop ebp
ret 8
section '.idata' import data readable writeable
dd 0,0,0,rva kernel32_dll_name,rva kernel32_dll_table
dd 0,0,0,0,0
kernel32_dll_table:
ExitProcess dd rva _ExitProcess
dd 0
kernel32_dll_name db 'kernel32.dll',0
_ExitProcess dw 0
db 'ExitProcess',0