File: dyncall_callback_x86_masm.asm

package info (click to toggle)
nqp 2014.07-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 23,596 kB
  • ctags: 7,993
  • sloc: ansic: 22,689; java: 20,240; cpp: 4,956; asm: 3,976; perl: 950; python: 267; sh: 245; makefile: 14
file content (74 lines) | stat: -rw-r--r-- 1,290 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
; auto-generated by gen-masm.sh
.386
.MODEL FLAT
.CODE

DCThunk_size = 16
DCArgs_size = 20
DCValue_size = 8
CTX_thunk = 0
CTX_phandler = 16
CTX_pargsvt = 20
CTX_stack_cleanup = 24
CTX_userdata = 28
frame_arg0 = 8
frame_ret = 4
frame_parent = 0
frame_CTX = -4
frame_DCArgs = -24
frame_DCValue = -32
_dcCallbackThunkEntry PROC
OPTION PROLOGUE:NONE, EPILOGUE:NONE
 push EBP
 mov EBP,ESP
 push EAX
 push 0
 push EDX
 push ECX
 lea ECX,dword ptr [EBP+frame_arg0]
 push ECX
 push dword ptr [EAX+CTX_pargsvt]
 mov ECX,ESP
 push 0
 push 0
 mov EDX,ESP
 and ESP,-16
 push dword ptr [EAX+CTX_userdata]
 push EDX
 push ECX
 push EAX
 call dword ptr [EAX+CTX_phandler]
 mov ESP,EBP
 pop ECX
 pop ECX
 mov EDX,dword ptr [EBP+frame_CTX]
 add ESP,dword ptr [EDX+CTX_stack_cleanup]
 push ECX
 lea EDX,dword ptr [EBP+frame_DCValue]
 mov EBP,dword ptr [EBP+0]
 cmp AL,118
 je return_void
 cmp AL,100
 je return_f64
 cmp AL,102
 je return_f32
 cmp AL,108
 je return_i64
 cmp AL,76
 je return_i64
return_i32:
 mov EAX,dword ptr [EDX+0]
 ret
return_i64:
 mov EAX,dword ptr [EDX+0]
 mov EDX,dword ptr [EDX+4]
 ret
return_f32:
 fld dword ptr [EDX+0]
 ret
return_f64:
 fld qword ptr [EDX+0]
return_void:
 ret
_dcCallbackThunkEntry ENDP
END