annotate dyncallback/dyncall_callback_x86_masm.asm @ 357:d982a00c2177

- PPC64 asm syntax fix, specifying explicitly comparison mode for cmpi (newer toolchains complain, older ones took optional field of instruction which happened to be same value)
author Tassilo Philipp
date Tue, 25 Feb 2020 18:16:13 +0100
parents ab2d78e48ca2
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