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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifdef BORINGSSL_PREFIX
%include "boringssl_prefix_symbols_nasm.inc"
%endif
%ifidn __OUTPUT_FORMAT__,obj
section code use32 class=code align=64
%elifidn __OUTPUT_FORMAT__,win32
$@feat.00 equ 1
section .text code align=64
%else
section .text code
%endif
global _abi_test_trampoline
align 16
_abi_test_trampoline:
L$_abi_test_trampoline_begin:
push ebp
push ebx
push esi
push edi
mov ecx,DWORD [24+esp]
mov esi,DWORD [ecx]
mov edi,DWORD [4+ecx]
mov ebx,DWORD [8+ecx]
mov ebp,DWORD [12+ecx]
sub esp,44
mov eax,DWORD [72+esp]
xor ecx,ecx
L$000loop:
cmp ecx,DWORD [76+esp]
jae NEAR L$001loop_done
mov edx,DWORD [ecx*4+eax]
mov DWORD [ecx*4+esp],edx
add ecx,1
jmp NEAR L$000loop
L$001loop_done:
call DWORD [64+esp]
add esp,44
mov ecx,DWORD [24+esp]
mov DWORD [ecx],esi
mov DWORD [4+ecx],edi
mov DWORD [8+ecx],ebx
mov DWORD [12+ecx],ebp
pop edi
pop esi
pop ebx
pop ebp
ret
global _abi_test_get_and_clear_direction_flag
align 16
_abi_test_get_and_clear_direction_flag:
L$_abi_test_get_and_clear_direction_flag_begin:
pushfd
pop eax
and eax,1024
shr eax,10
cld
ret
global _abi_test_set_direction_flag
align 16
_abi_test_set_direction_flag:
L$_abi_test_set_direction_flag_begin:
std
ret
global _abi_test_clobber_eax
align 16
_abi_test_clobber_eax:
L$_abi_test_clobber_eax_begin:
xor eax,eax
ret
global _abi_test_clobber_ebx
align 16
_abi_test_clobber_ebx:
L$_abi_test_clobber_ebx_begin:
xor ebx,ebx
ret
global _abi_test_clobber_ecx
align 16
_abi_test_clobber_ecx:
L$_abi_test_clobber_ecx_begin:
xor ecx,ecx
ret
global _abi_test_clobber_edx
align 16
_abi_test_clobber_edx:
L$_abi_test_clobber_edx_begin:
xor edx,edx
ret
global _abi_test_clobber_edi
align 16
_abi_test_clobber_edi:
L$_abi_test_clobber_edi_begin:
xor edi,edi
ret
global _abi_test_clobber_esi
align 16
_abi_test_clobber_esi:
L$_abi_test_clobber_esi_begin:
xor esi,esi
ret
global _abi_test_clobber_ebp
align 16
_abi_test_clobber_ebp:
L$_abi_test_clobber_ebp_begin:
xor ebp,ebp
ret
global _abi_test_clobber_xmm0
align 16
_abi_test_clobber_xmm0:
L$_abi_test_clobber_xmm0_begin:
pxor xmm0,xmm0
ret
global _abi_test_clobber_xmm1
align 16
_abi_test_clobber_xmm1:
L$_abi_test_clobber_xmm1_begin:
pxor xmm1,xmm1
ret
global _abi_test_clobber_xmm2
align 16
_abi_test_clobber_xmm2:
L$_abi_test_clobber_xmm2_begin:
pxor xmm2,xmm2
ret
global _abi_test_clobber_xmm3
align 16
_abi_test_clobber_xmm3:
L$_abi_test_clobber_xmm3_begin:
pxor xmm3,xmm3
ret
global _abi_test_clobber_xmm4
align 16
_abi_test_clobber_xmm4:
L$_abi_test_clobber_xmm4_begin:
pxor xmm4,xmm4
ret
global _abi_test_clobber_xmm5
align 16
_abi_test_clobber_xmm5:
L$_abi_test_clobber_xmm5_begin:
pxor xmm5,xmm5
ret
global _abi_test_clobber_xmm6
align 16
_abi_test_clobber_xmm6:
L$_abi_test_clobber_xmm6_begin:
pxor xmm6,xmm6
ret
global _abi_test_clobber_xmm7
align 16
_abi_test_clobber_xmm7:
L$_abi_test_clobber_xmm7_begin:
pxor xmm7,xmm7
ret
|