annotate dyncallback/dyncall_callback_x86_masm.asm @ 341:ab2d78e48ca2

- gen-masm . fallback on clang if gcc not available . consolidated use of redundant scripts . regen of portasm based masm files - minor symbol name changes for clarity/consistency
author Tassilo Philipp
date Sat, 04 Jan 2020 23:00:02 +0100
parents 3e629dc19168
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 ; auto-generated by gen-masm.sh
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 .386
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 .MODEL FLAT
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 .CODE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 DCThunk_size = 16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 DCArgs_size = 20
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 DCValue_size = 8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 CTX_thunk = 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 CTX_phandler = 16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 CTX_pargsvt = 20
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 CTX_stack_cleanup = 24
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 CTX_userdata = 28
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 frame_arg0 = 8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 frame_ret = 4
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 frame_parent = 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 frame_CTX = -4
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 frame_DCArgs = -24
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 frame_DCValue = -32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 _dcCallbackThunkEntry PROC
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 OPTION PROLOGUE:NONE, EPILOGUE:NONE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 push EBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 mov EBP,ESP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 push EAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 push EDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 push ECX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 lea ECX,dword ptr [EBP+frame_arg0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 push ECX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 push dword ptr [EAX+CTX_pargsvt]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 mov ECX,ESP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 mov EDX,ESP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 and ESP,-16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 push dword ptr [EAX+CTX_userdata]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 push EDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 push ECX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 push EAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 call dword ptr [EAX+CTX_phandler]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 mov ESP,EBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 pop ECX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 pop ECX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 mov EDX,dword ptr [EBP+frame_CTX]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 add ESP,dword ptr [EDX+CTX_stack_cleanup]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 push ECX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 lea EDX,dword ptr [EBP+frame_DCValue]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 mov EBP,dword ptr [EBP+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 cmp AL,102
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 je return_f32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 cmp AL,100
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 je return_f64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 return_i64:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 mov EAX,dword ptr [EDX+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 mov EDX,dword ptr [EDX+4]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 ret
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 return_f32:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 fld dword ptr [EDX+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 ret
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 return_f64:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 fld qword ptr [EDX+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 return_void:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 ret
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 _dcCallbackThunkEntry ENDP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 END