1 | /* |
2 | * Do not edit - this file auto-generated by macros.pl from: |
3 | * version.mac |
4 | * ./macros/altreg.mac |
5 | * ./macros/fp.mac |
6 | * ./macros/ifunc.mac |
7 | * ./macros/smartalign.mac |
8 | * ./macros/standard.mac |
9 | * ./output/outaout.mac |
10 | * ./output/outas86.mac |
11 | * ./output/outbin.mac |
12 | * ./output/outcoff.mac |
13 | * ./output/outdbg.mac |
14 | * ./output/outelf.mac |
15 | * ./output/outmacho.mac |
16 | * ./output/outobj.mac |
17 | * ./output/outrdf2.mac |
18 | * ./output/outrdf.mac |
19 | */ |
20 | |
21 | #include "tables.h" |
22 | #include "nasmlib.h" |
23 | #include "hashtbl.h" |
24 | #include "outform.h" |
25 | |
26 | |
27 | #if 1 |
28 | const unsigned char nasm_stdmac_version[] = { |
29 | /* From version.mac */ |
30 | /* 0 */ 195,'_','_','N','A','S','M','_','M','A','J','O','R','_','_',' ','2',0, |
31 | /* 18 */ 195,'_','_','N','A','S','M','_','M','I','N','O','R','_','_',' ','1','4',0, |
32 | /* 37 */ 195,'_','_','N','A','S','M','_','S','U','B','M','I','N','O','R','_','_',' ','2',0, |
33 | /* 58 */ 195,'_','_','N','A','S','M','_','P','A','T','C','H','L','E','V','E','L','_','_',' ','0',0, |
34 | /* 81 */ 195,'_','_','N','A','S','M','_','V','E','R','S','I','O','N','_','I','D','_','_',' ','0','0','2','0','E','0','2','0','0','h',0, |
35 | /* 113 */ 195,'_','_','N','A','S','M','_','V','E','R','_','_',' ', 34,'2','.','1','4','.','0','2', 34,0, |
36 | /* 137 */ 0 |
37 | }; |
38 | #endif |
39 | |
40 | #if 1 |
41 | static const unsigned char nasm_usemac_altreg[] = { |
42 | /* From ./macros/altreg.mac */ |
43 | /* 0 */ 195,'_','_','U','S','E','_','A','L','T','R','E','G','_','_',0, |
44 | /* 16 */ 209,'r','8','l',' ','r','8','b',0, |
45 | /* 26 */ 209,'r','9','l',' ','r','9','b',0, |
46 | /* 36 */ 209,'r','1','0','l',' ','r','1','0','b',0, |
47 | /* 47 */ 209,'r','1','1','l',' ','r','1','1','b',0, |
48 | /* 58 */ 209,'r','1','2','l',' ','r','1','2','b',0, |
49 | /* 69 */ 209,'r','1','3','l',' ','r','1','3','b',0, |
50 | /* 80 */ 209,'r','1','4','l',' ','r','1','4','b',0, |
51 | /* 91 */ 209,'r','1','5','l',' ','r','1','5','b',0, |
52 | /* 102 */ 209,'r','0',' ','r','a','x',0, |
53 | /* 111 */ 209,'r','1',' ','r','c','x',0, |
54 | /* 120 */ 209,'r','2',' ','r','d','x',0, |
55 | /* 129 */ 209,'r','3',' ','r','b','x',0, |
56 | /* 138 */ 209,'r','4',' ','r','s','p',0, |
57 | /* 147 */ 209,'r','5',' ','r','b','p',0, |
58 | /* 156 */ 209,'r','6',' ','r','s','i',0, |
59 | /* 165 */ 209,'r','7',' ','r','d','i',0, |
60 | /* 174 */ 209,'r','0','d',' ','e','a','x',0, |
61 | /* 183 */ 209,'r','1','d',' ','e','c','x',0, |
62 | /* 192 */ 209,'r','2','d',' ','e','d','x',0, |
63 | /* 201 */ 209,'r','3','d',' ','e','b','x',0, |
64 | /* 210 */ 209,'r','4','d',' ','e','s','p',0, |
65 | /* 219 */ 209,'r','5','d',' ','e','b','p',0, |
66 | /* 228 */ 209,'r','6','d',' ','e','s','i',0, |
67 | /* 237 */ 209,'r','7','d',' ','e','d','i',0, |
68 | /* 246 */ 209,'r','0','w',' ','a','x',0, |
69 | /* 254 */ 209,'r','1','w',' ','c','x',0, |
70 | /* 262 */ 209,'r','2','w',' ','d','x',0, |
71 | /* 270 */ 209,'r','3','w',' ','b','x',0, |
72 | /* 278 */ 209,'r','4','w',' ','s','p',0, |
73 | /* 286 */ 209,'r','5','w',' ','b','p',0, |
74 | /* 294 */ 209,'r','6','w',' ','s','i',0, |
75 | /* 302 */ 209,'r','7','w',' ','d','i',0, |
76 | /* 310 */ 209,'r','0','b',' ','a','l',0, |
77 | /* 318 */ 209,'r','1','b',' ','c','l',0, |
78 | /* 326 */ 209,'r','2','b',' ','d','l',0, |
79 | /* 334 */ 209,'r','3','b',' ','b','l',0, |
80 | /* 342 */ 209,'r','4','b',' ','s','p','l',0, |
81 | /* 351 */ 209,'r','5','b',' ','b','p','l',0, |
82 | /* 360 */ 209,'r','6','b',' ','s','i','l',0, |
83 | /* 369 */ 209,'r','7','b',' ','d','i','l',0, |
84 | /* 378 */ 209,'r','0','l',' ','a','l',0, |
85 | /* 386 */ 209,'r','1','l',' ','c','l',0, |
86 | /* 394 */ 209,'r','2','l',' ','d','l',0, |
87 | /* 402 */ 209,'r','3','l',' ','b','l',0, |
88 | /* 410 */ 209,'r','4','l',' ','s','p','l',0, |
89 | /* 419 */ 209,'r','5','l',' ','b','p','l',0, |
90 | /* 428 */ 209,'r','6','l',' ','s','i','l',0, |
91 | /* 437 */ 209,'r','7','l',' ','d','i','l',0, |
92 | /* 446 */ 209,'r','0','h',' ','a','h',0, |
93 | /* 454 */ 209,'r','1','h',' ','c','h',0, |
94 | /* 462 */ 209,'r','2','h',' ','d','h',0, |
95 | /* 470 */ 209,'r','3','h',' ','b','h',0, |
96 | /* 478 */ 0 |
97 | }; |
98 | #endif |
99 | |
100 | #if 1 |
101 | static const unsigned char nasm_usemac_fp[] = { |
102 | /* From ./macros/fp.mac */ |
103 | /* 0 */ 195,'_','_','U','S','E','_','F','P','_','_',0, |
104 | /* 12 */ 195,'I','n','f',' ','_','_','I','n','f','i','n','i','t','y','_','_',0, |
105 | /* 31 */ 195,'N','a','N',' ','_','_','Q','N','a','N','_','_',0, |
106 | /* 46 */ 195,'Q','N','a','N',' ','_','_','Q','N','a','N','_','_',0, |
107 | /* 62 */ 195,'S','N','a','N',' ','_','_','S','N','a','N','_','_',0, |
108 | /* 78 */ 195,'f','l','o','a','t','8','(','x',')',' ','_','_','f','l','o','a','t','8','_','_','(','x',')',0, |
109 | /* 103 */ 195,'f','l','o','a','t','1','6','(','x',')',' ','_','_','f','l','o','a','t','1','6','_','_','(','x',')',0, |
110 | /* 130 */ 195,'f','l','o','a','t','3','2','(','x',')',' ','_','_','f','l','o','a','t','3','2','_','_','(','x',')',0, |
111 | /* 157 */ 195,'f','l','o','a','t','6','4','(','x',')',' ','_','_','f','l','o','a','t','6','4','_','_','(','x',')',0, |
112 | /* 184 */ 195,'f','l','o','a','t','8','0','m','(','x',')',' ','_','_','f','l','o','a','t','8','0','m','_','_','(','x',')',0, |
113 | /* 213 */ 195,'f','l','o','a','t','8','0','e','(','x',')',' ','_','_','f','l','o','a','t','8','0','e','_','_','(','x',')',0, |
114 | /* 242 */ 195,'f','l','o','a','t','1','2','8','l','(','x',')',' ','_','_','f','l','o','a','t','1','2','8','l','_','_','(','x',')',0, |
115 | /* 273 */ 195,'f','l','o','a','t','1','2','8','h','(','x',')',' ','_','_','f','l','o','a','t','1','2','8','h','_','_','(','x',')',0, |
116 | /* 304 */ 0 |
117 | }; |
118 | #endif |
119 | |
120 | #if 1 |
121 | static const unsigned char nasm_usemac_ifunc[] = { |
122 | /* From ./macros/ifunc.mac */ |
123 | /* 0 */ 195,'_','_','U','S','E','_','I','F','U','N','C','_','_',0, |
124 | /* 15 */ 209,'i','l','o','g','2','(','x',')',' ','(','_','_','i','l','o','g','2','e','_','_','(','x',')',')',0, |
125 | /* 41 */ 209,'i','l','o','g','2','e','(','x',')',' ','(','_','_','i','l','o','g','2','e','_','_','(','x',')',')',0, |
126 | /* 68 */ 209,'i','l','o','g','2','w','(','x',')',' ','(','_','_','i','l','o','g','2','w','_','_','(','x',')',')',0, |
127 | /* 95 */ 209,'i','l','o','g','2','f','w','(','x',')',' ','(','_','_','i','l','o','g','2','w','_','_','(','x',')',')',0, |
128 | /* 123 */ 209,'i','l','o','g','2','f','(','x',')',' ','(','_','_','i','l','o','g','2','f','_','_','(','x',')',')',0, |
129 | /* 150 */ 209,'i','l','o','g','2','c','w','(','x',')',' ','(','_','_','i','l','o','g','2','w','_','_','(','x',')',' ','*',' ','0',' ','+',' ','_','_','i','l','o','g','2','c','_','_','(','x',')',')',0, |
130 | /* 198 */ 209,'i','l','o','g','2','c','(','x',')',' ','(','_','_','i','l','o','g','2','c','_','_','(','x',')',')',0, |
131 | /* 225 */ 0 |
132 | }; |
133 | #endif |
134 | |
135 | #if 1 |
136 | static const unsigned char nasm_usemac_smartalign[] = { |
137 | /* From ./macros/smartalign.mac */ |
138 | /* 0 */ 195,'_','_','U','S','E','_','S','M','A','R','T','A','L','I','G','N','_','_',0, |
139 | /* 20 */ 212,'a','l','i','g','n','m','o','d','e',' ','1','-','2','.','n','o','l','i','s','t',0, |
140 | /* 42 */ 174,'%','1',',','n','o','p',0, |
141 | /* 50 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0, |
142 | /* 78 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
143 | /* 103 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','1',0, |
144 | /* 128 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
145 | /* 153 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','1',0, |
146 | /* 178 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
147 | /* 203 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','1',0, |
148 | /* 228 */ 142,'%','1',',','g','e','n','e','r','i','c',0, |
149 | /* 240 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','8',0, |
150 | /* 267 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
151 | /* 292 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','8','9',',','0','x','f','6',0, |
152 | /* 322 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','3','B','_','_',' ','0','x','8','d',',','0','x','7','4',',','0','x','0','0',0, |
153 | /* 357 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','4','B','_','_',' ','0','x','8','d',',','0','x','b','4',',','0','x','0','0',',','0','x','0','0',0, |
154 | /* 397 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','5','B','_','_',' ','0','x','8','d',',','0','x','b','4',',','0','x','0','0',',','0','x','0','0',',','0','x','9','0',0, |
155 | /* 442 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','6','B','_','_',' ','0','x','8','d',',','0','x','b','4',',','0','x','0','0',',','0','x','0','0',',','0','x','8','9',',','0','x','f','f',0, |
156 | /* 492 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','7','B','_','_',' ','0','x','8','d',',','0','x','b','4',',','0','x','0','0',',','0','x','0','0',',','0','x','8','d',',','0','x','7','d',',','0','x','0','0',0, |
157 | /* 547 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','8','B','_','_',' ','0','x','8','d',',','0','x','b','4',',','0','x','0','0',',','0','x','0','0',',','0','x','8','d',',','0','x','b','d',',','0','x','0','0',',','0','x','0','0',0, |
158 | /* 607 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','8',0, |
159 | /* 632 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
160 | /* 657 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','8','9',',','0','x','f','6',0, |
161 | /* 687 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','3','B','_','_',' ','0','x','8','d',',','0','x','7','6',',','0','x','0','0',0, |
162 | /* 722 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','4','B','_','_',' ','0','x','8','d',',','0','x','7','4',',','0','x','2','6',',','0','x','0','0',0, |
163 | /* 762 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','5','B','_','_',' ','0','x','9','0',',','0','x','8','d',',','0','x','7','4',',','0','x','2','6',',','0','x','0','0',0, |
164 | /* 807 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','6','B','_','_',' ','0','x','8','d',',','0','x','b','6',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
165 | /* 857 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','7','B','_','_',' ','0','x','8','d',',','0','x','b','4',',','0','x','2','6',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
166 | /* 912 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','7',0, |
167 | /* 937 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
168 | /* 962 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
169 | /* 992 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','3','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
170 | /* 1027 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','4','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
171 | /* 1067 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
172 | /* 1092 */ 142,'%','1',',','k','8',0, |
173 | /* 1099 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0, |
174 | /* 1127 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
175 | /* 1152 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
176 | /* 1182 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','3','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
177 | /* 1217 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','4','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
178 | /* 1257 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
179 | /* 1282 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
180 | /* 1307 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
181 | /* 1337 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','3','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
182 | /* 1372 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','4','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
183 | /* 1412 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
184 | /* 1437 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
185 | /* 1462 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
186 | /* 1492 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','3','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
187 | /* 1527 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','4','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
188 | /* 1567 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
189 | /* 1592 */ 142,'%','1',',','k','7',0, |
190 | /* 1599 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0, |
191 | /* 1627 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
192 | /* 1652 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
193 | /* 1682 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','3','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
194 | /* 1717 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','4','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
195 | /* 1757 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
196 | /* 1782 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
197 | /* 1807 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','8','b',',','0','x','c','0',0, |
198 | /* 1837 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','3','B','_','_',' ','0','x','8','d',',','0','x','0','4',',','0','x','2','0',0, |
199 | /* 1872 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','4','B','_','_',' ','0','x','8','d',',','0','x','4','4',',','0','x','2','0',',','0','x','0','0',0, |
200 | /* 1912 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','5','B','_','_',' ','0','x','8','d',',','0','x','4','4',',','0','x','2','0',',','0','x','0','0',',','0','x','9','0',0, |
201 | /* 1957 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','6','B','_','_',' ','0','x','8','d',',','0','x','8','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
202 | /* 2007 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','7','B','_','_',' ','0','x','8','d',',','0','x','0','4',',','0','x','0','5',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
203 | /* 2062 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','7',0, |
204 | /* 2087 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
205 | /* 2112 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
206 | /* 2142 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','3','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
207 | /* 2177 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','4','B','_','_',' ','0','x','6','6',',','0','x','6','6',',','0','x','6','6',',','0','x','9','0',0, |
208 | /* 2217 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
209 | /* 2242 */ 142,'%','1',',','p','6',0, |
210 | /* 2249 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0, |
211 | /* 2277 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
212 | /* 2302 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
213 | /* 2332 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','3','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','0','0',0, |
214 | /* 2367 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','4','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','4','0',',','0','x','0','0',0, |
215 | /* 2407 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','4',0, |
216 | /* 2432 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
217 | /* 2457 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
218 | /* 2487 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','3','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','0','0',0, |
219 | /* 2522 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','4','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','4','0',',','0','x','0','0',0, |
220 | /* 2562 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','5','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','4','4',',','0','x','0','0',',','0','x','0','0',0, |
221 | /* 2607 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','6','B','_','_',' ','0','x','6','6',',','0','x','0','f',',','0','x','1','f',',','0','x','4','4',',','0','x','0','0',',','0','x','0','0',0, |
222 | /* 2657 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','7','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','8','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
223 | /* 2712 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','8','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','8','4',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
224 | /* 2772 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','8',0, |
225 | /* 2797 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0, |
226 | /* 2822 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0, |
227 | /* 2852 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','3','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','0','0',0, |
228 | /* 2887 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','4','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','4','0',',','0','x','0','0',0, |
229 | /* 2927 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','5','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','4','4',',','0','x','0','0',',','0','x','0','0',0, |
230 | /* 2972 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','6','B','_','_',' ','0','x','6','6',',','0','x','0','f',',','0','x','1','f',',','0','x','4','4',',','0','x','0','0',',','0','x','0','0',0, |
231 | /* 3022 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','7','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','8','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
232 | /* 3077 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','8','B','_','_',' ','0','x','0','f',',','0','x','1','f',',','0','x','8','4',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',',','0','x','0','0',0, |
233 | /* 3137 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','8',0, |
234 | /* 3162 */ 199,0, |
235 | /* 3164 */ 204,'u','n','k','n','o','w','n',' ','a','l','i','g','n','m','e','n','t',' ','m','o','d','e',':',' ','%','1',0, |
236 | /* 3192 */ 200,0, |
237 | /* 3194 */ 167,'%','2',0, |
238 | /* 3198 */ 174,'%','2',',','n','o','j','m','p',0, |
239 | /* 3208 */ 236,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','-','1',0, |
240 | /* 3236 */ 199,0, |
241 | /* 3238 */ 236,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','%','2',0, |
242 | /* 3266 */ 200,0, |
243 | /* 3268 */ 200,0, |
244 | /* 3270 */ 236,'_','_','A','L','I','G','N','M','O','D','E','_','_',' ','%','1',',','_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',0, |
245 | /* 3312 */ 202,0, |
246 | /* 3314 */ 232,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',0, |
247 | /* 3333 */ 212,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',0, |
248 | /* 3352 */ 's','e','c','t','a','l','i','g','n',' ','%','1',0, |
249 | /* 3365 */ 167,'%','2',0, |
250 | /* 3369 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0, |
251 | /* 3412 */ 128,'_','_','P','A','S','S','_','_',' ','=','=',' ','0',' ','|','|',' ','_','_','P','A','S','S','_','_',' ','=','=',' ','3',0, |
252 | /* 3444 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','n','o','p',0, |
253 | /* 3488 */ 199,0, |
254 | /* 3490 */ 222,0, |
255 | /* 3492 */ 193,'%','$','p','a','d',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',0, |
256 | /* 3533 */ 160,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','!','=',' ','-','1',' ','&','&',' ','%','$','p','a','d',' ','>',' ','_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',0, |
257 | /* 3599 */ 'j','m','p',' ','%','$','e','n','d',0, |
258 | /* 3609 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','n','o','p',0, |
259 | /* 3653 */ 199,0, |
260 | /* 3655 */ 't','i','m','e','s',' ','(','%','$','p','a','d',' ','/',' ','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','G','R','O','U','P','_','_',')',' ','d','b',' ','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','%','[','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','G','R','O','U','P','_','_',']','B','_','_',0, |
261 | /* 3773 */ 193,'%','$','p','a','d',' ','%','$','p','a','d',' ','%',' ','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','G','R','O','U','P','_','_',0, |
262 | /* 3819 */ 160,'%','$','p','a','d',' ','>',' ','0',0, |
263 | /* 3830 */ 'd','b',' ','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','%','[','%','$','p','a','d',']','B','_','_',0, |
264 | /* 3868 */ 200,0, |
265 | /* 3870 */ 200,0, |
266 | /* 3872 */ '%','$','e','n','d',':',0, |
267 | /* 3879 */ 220,0, |
268 | /* 3881 */ 200,0, |
269 | /* 3883 */ 202,0, |
270 | /* 3885 */ 'a','l','i','g','n','m','o','d','e',' ','g','e','n','e','r','i','c',0, |
271 | /* 3903 */ 0 |
272 | }; |
273 | #endif |
274 | |
275 | #if 1 |
276 | const unsigned char nasm_stdmac_tasm[] = { |
277 | /* From ./macros/standard.mac */ |
278 | /* 0 */ 209,'I','D','E','A','L',0, |
279 | /* 7 */ 209,'J','U','M','P','S',0, |
280 | /* 14 */ 209,'P','3','8','6',0, |
281 | /* 20 */ 209,'P','4','8','6',0, |
282 | /* 26 */ 209,'P','5','8','6',0, |
283 | /* 32 */ 209,'E','N','D',0, |
284 | /* 37 */ 0 |
285 | }; |
286 | #endif |
287 | |
288 | #if 1 |
289 | const unsigned char nasm_stdmac_nasm[] = { |
290 | /* From ./macros/standard.mac */ |
291 | /* 0 */ 195,'_','_','F','I','L','E','_','_',0, |
292 | /* 10 */ 195,'_','_','L','I','N','E','_','_',0, |
293 | /* 20 */ 195,'_','_','B','I','T','S','_','_',0, |
294 | /* 30 */ 195,'_','_','S','E','C','T','_','_',0, |
295 | /* 40 */ 212,'s','e','c','t','i','o','n',' ','1','+','.','n','o','l','i','s','t',0, |
296 | /* 59 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','%','1',']',0, |
297 | /* 82 */ '_','_','S','E','C','T','_','_',0, |
298 | /* 91 */ 202,0, |
299 | /* 93 */ 212,'s','e','g','m','e','n','t',' ','1','+','.','n','o','l','i','s','t',0, |
300 | /* 112 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','g','m','e','n','t',' ','%','1',']',0, |
301 | /* 135 */ '_','_','S','E','C','T','_','_',0, |
302 | /* 144 */ 202,0, |
303 | /* 146 */ 195,'_','_','S','E','C','T','A','L','I','G','N','_','A','L','I','G','N','_','U','P','D','A','T','E','S','_','S','E','C','T','I','O','N','_','_',' ','1',0, |
304 | /* 185 */ 212,'s','e','c','t','a','l','i','g','n',' ','1','.','n','o','l','i','s','t',0, |
305 | /* 205 */ 178,'%','1',0, |
306 | /* 209 */ 160,'_','_','S','E','C','T','A','L','I','G','N','_','A','L','I','G','N','_','U','P','D','A','T','E','S','_','S','E','C','T','I','O','N','_','_',' ','=',' ','1',0, |
307 | /* 250 */ '[','s','e','c','t','a','l','i','g','n',' ','%','1',']',0, |
308 | /* 265 */ 200,0, |
309 | /* 267 */ 199,0, |
310 | /* 269 */ 174,'%','1',',','o','f','f',0, |
311 | /* 277 */ 195,'_','_','S','E','C','T','A','L','I','G','N','_','A','L','I','G','N','_','U','P','D','A','T','E','S','_','S','E','C','T','I','O','N','_','_',' ','0',0, |
312 | /* 316 */ 142,'%','1',',','o','n',0, |
313 | /* 323 */ 195,'_','_','S','E','C','T','A','L','I','G','N','_','A','L','I','G','N','_','U','P','D','A','T','E','S','_','S','E','C','T','I','O','N','_','_',' ','1',0, |
314 | /* 362 */ 200,0, |
315 | /* 364 */ 200,0, |
316 | /* 366 */ 202,0, |
317 | /* 368 */ 212,'a','b','s','o','l','u','t','e',' ','1','+','.','n','o','l','i','s','t',0, |
318 | /* 388 */ 195,'_','_','S','E','C','T','_','_',' ','[','a','b','s','o','l','u','t','e',' ','%','1',']',0, |
319 | /* 412 */ '_','_','S','E','C','T','_','_',0, |
320 | /* 421 */ 202,0, |
321 | /* 423 */ 212,'s','t','r','u','c',' ','1','-','2','.','n','o','l','i','s','t',' ','0',0, |
322 | /* 443 */ 222,0, |
323 | /* 445 */ 195,'%','$','s','t','r','u','c','n','a','m','e',' ','%','1',0, |
324 | /* 461 */ '[','a','b','s','o','l','u','t','e',' ','%','2',']',0, |
325 | /* 475 */ '%','$','s','t','r','u','c','n','a','m','e',':',0, |
326 | /* 488 */ 202,0, |
327 | /* 490 */ 212,'e','n','d','s','t','r','u','c',' ','0','.','n','o','l','i','s','t',0, |
328 | /* 509 */ '%','{','$','s','t','r','u','c','n','a','m','e','}','_','s','i','z','e',' ','e','q','u',' ','(','$','-','%','$','s','t','r','u','c','n','a','m','e',')',0, |
329 | /* 548 */ 220,0, |
330 | /* 550 */ '_','_','S','E','C','T','_','_',0, |
331 | /* 559 */ 202,0, |
332 | /* 561 */ 212,'i','s','t','r','u','c',' ','1','.','n','o','l','i','s','t',0, |
333 | /* 578 */ 222,0, |
334 | /* 580 */ 195,'%','$','s','t','r','u','c','n','a','m','e',' ','%','1',0, |
335 | /* 596 */ '%','$','s','t','r','u','c','s','t','a','r','t',':',0, |
336 | /* 610 */ 202,0, |
337 | /* 612 */ 212,'a','t',' ','1','-','2','+','.','n','o','l','i','s','t',0, |
338 | /* 628 */ 't','i','m','e','s',' ','(','%','1','-','%','$','s','t','r','u','c','n','a','m','e',')','-','(','$','-','%','$','s','t','r','u','c','s','t','a','r','t',')',' ','d','b',' ','0',0, |
339 | /* 673 */ '%','2',0, |
340 | /* 676 */ 202,0, |
341 | /* 678 */ 212,'i','e','n','d',' ','0','.','n','o','l','i','s','t',0, |
342 | /* 693 */ 't','i','m','e','s',' ','%','{','$','s','t','r','u','c','n','a','m','e','}','_','s','i','z','e','-','(','$','-','%','$','s','t','r','u','c','s','t','a','r','t',')',' ','d','b',' ','0',0, |
343 | /* 740 */ 220,0, |
344 | /* 742 */ 202,0, |
345 | /* 744 */ 212,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',' ','n','o','p',0, |
346 | /* 767 */ 's','e','c','t','a','l','i','g','n',' ','%','1',0, |
347 | /* 780 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0, |
348 | /* 823 */ 202,0, |
349 | /* 825 */ 212,'a','l','i','g','n','b',' ','1','-','2','+','.','n','o','l','i','s','t',0, |
350 | /* 845 */ 's','e','c','t','a','l','i','g','n',' ','%','1',0, |
351 | /* 858 */ 166,'%','2',0, |
352 | /* 862 */ 'r','e','s','b',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',0, |
353 | /* 901 */ 199,0, |
354 | /* 903 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0, |
355 | /* 946 */ 200,0, |
356 | /* 948 */ 202,0, |
357 | /* 950 */ 212,'b','i','t','s',' ','1','+','.','n','o','l','i','s','t',0, |
358 | /* 966 */ '[','b','i','t','s',' ','%','1',']',0, |
359 | /* 976 */ 202,0, |
360 | /* 978 */ 212,'u','s','e','1','6',' ','0','.','n','o','l','i','s','t',0, |
361 | /* 994 */ '[','b','i','t','s',' ','1','6',']',0, |
362 | /* 1004 */ 202,0, |
363 | /* 1006 */ 212,'u','s','e','3','2',' ','0','.','n','o','l','i','s','t',0, |
364 | /* 1022 */ '[','b','i','t','s',' ','3','2',']',0, |
365 | /* 1032 */ 202,0, |
366 | /* 1034 */ 212,'u','s','e','6','4',' ','0','.','n','o','l','i','s','t',0, |
367 | /* 1050 */ '[','b','i','t','s',' ','6','4',']',0, |
368 | /* 1060 */ 202,0, |
369 | /* 1062 */ 212,'e','x','t','e','r','n',' ','1','-','*','.','n','o','l','i','s','t',0, |
370 | /* 1081 */ 223,'%','0',0, |
371 | /* 1085 */ '[','e','x','t','e','r','n',' ','%','1',']',0, |
372 | /* 1097 */ 226,'1',0, |
373 | /* 1100 */ 203,0, |
374 | /* 1102 */ 202,0, |
375 | /* 1104 */ 212,'s','t','a','t','i','c',' ','1','-','*','.','n','o','l','i','s','t',0, |
376 | /* 1123 */ 223,'%','0',0, |
377 | /* 1127 */ '[','s','t','a','t','i','c',' ','%','1',']',0, |
378 | /* 1139 */ 226,'1',0, |
379 | /* 1142 */ 203,0, |
380 | /* 1144 */ 202,0, |
381 | /* 1146 */ 212,'g','l','o','b','a','l',' ','1','-','*','.','n','o','l','i','s','t',0, |
382 | /* 1165 */ 223,'%','0',0, |
383 | /* 1169 */ '[','g','l','o','b','a','l',' ','%','1',']',0, |
384 | /* 1181 */ 226,'1',0, |
385 | /* 1184 */ 203,0, |
386 | /* 1186 */ 202,0, |
387 | /* 1188 */ 212,'c','o','m','m','o','n',' ','1','-','*','.','n','o','l','i','s','t',0, |
388 | /* 1207 */ 223,'%','0',0, |
389 | /* 1211 */ '[','c','o','m','m','o','n',' ','%','1',']',0, |
390 | /* 1223 */ 226,'1',0, |
391 | /* 1226 */ 203,0, |
392 | /* 1228 */ 202,0, |
393 | /* 1230 */ 212,'c','p','u',' ','1','+','.','n','o','l','i','s','t',0, |
394 | /* 1245 */ '[','c','p','u',' ','%','1',']',0, |
395 | /* 1254 */ 202,0, |
396 | /* 1256 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0, |
397 | /* 1277 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0, |
398 | /* 1299 */ 195,'_','_','F','L','O','A','T','_','_',' ','_','_','F','L','O','A','T','_','D','A','Z','_','_',',','_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',0, |
399 | /* 1340 */ 212,'f','l','o','a','t',' ','1','-','*','.','n','o','l','i','s','t',0, |
400 | /* 1358 */ 223,'%','0',0, |
401 | /* 1362 */ '[','f','l','o','a','t',' ','%','1',']',0, |
402 | /* 1373 */ 174,'%','1',',','d','a','z',0, |
403 | /* 1381 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','d','a','z',0, |
404 | /* 1400 */ 142,'%','1',',','n','o','d','a','z',0, |
405 | /* 1410 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0, |
406 | /* 1431 */ 142,'%','1',',','n','e','a','r',0, |
407 | /* 1440 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0, |
408 | /* 1462 */ 142,'%','1',',','u','p',0, |
409 | /* 1469 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','u','p',0, |
410 | /* 1489 */ 142,'%','1',',','d','o','w','n',0, |
411 | /* 1498 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','d','o','w','n',0, |
412 | /* 1520 */ 142,'%','1',',','z','e','r','o',0, |
413 | /* 1529 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','z','e','r','o',0, |
414 | /* 1551 */ 142,'%','1',',','d','e','f','a','u','l','t',0, |
415 | /* 1563 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0, |
416 | /* 1584 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0, |
417 | /* 1606 */ 200,0, |
418 | /* 1608 */ 226,'1',0, |
419 | /* 1611 */ 203,0, |
420 | /* 1613 */ 202,0, |
421 | /* 1615 */ 212,'d','e','f','a','u','l','t',' ','1','+','.','n','o','l','i','s','t',0, |
422 | /* 1634 */ '[','d','e','f','a','u','l','t',' ','%','1',']',0, |
423 | /* 1647 */ 202,0, |
424 | /* 1649 */ 212,'u','s','e','r','e','l',' ','0','.','n','o','l','i','s','t',0, |
425 | /* 1666 */ '[','d','e','f','a','u','l','t',' ','r','e','l',']',0, |
426 | /* 1680 */ 202,0, |
427 | /* 1682 */ 212,'u','s','e','a','b','s',' ','0','.','n','o','l','i','s','t',0, |
428 | /* 1699 */ '[','d','e','f','a','u','l','t',' ','a','b','s',']',0, |
429 | /* 1713 */ 202,0, |
430 | /* 1715 */ 212,'u','s','e','b','n','d',' ','0','.','n','o','l','i','s','t',0, |
431 | /* 1732 */ '[','d','e','f','a','u','l','t',' ','b','n','d',']',0, |
432 | /* 1746 */ 202,0, |
433 | /* 1748 */ 212,'u','s','e','n','o','b','n','d',' ','0','.','n','o','l','i','s','t',0, |
434 | /* 1767 */ '[','d','e','f','a','u','l','t',' ','n','o','b','n','d',']',0, |
435 | /* 1783 */ 202,0, |
436 | /* 1785 */ 212,'i','n','c','b','i','n',' ','1','-','2','+','.','n','o','l','i','s','t',' ','0',0, |
437 | /* 1807 */ 222,0, |
438 | /* 1809 */ 219,'%','$','d','e','p',' ','%','1',0, |
439 | /* 1819 */ 198,'%','$','d','e','p',0, |
440 | /* 1826 */ '%','?',' ','%','$','d','e','p',',','%','2',0, |
441 | /* 1838 */ 220,0, |
442 | /* 1840 */ 202,0, |
443 | /* 1842 */ 0 |
444 | }; |
445 | #endif |
446 | |
447 | #if defined(OF_AOUT) || defined(OF_AOUTB) |
448 | const unsigned char aout_stdmac[] = { |
449 | /* From ./output/outaout.mac */ |
450 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
451 | /* 26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
452 | /* 44 */ 202,0, |
453 | /* 46 */ 0 |
454 | }; |
455 | #endif |
456 | |
457 | #if defined(OF_AS86) |
458 | const unsigned char as86_stdmac[] = { |
459 | /* From ./output/outas86.mac */ |
460 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
461 | /* 26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
462 | /* 44 */ 202,0, |
463 | /* 46 */ 0 |
464 | }; |
465 | #endif |
466 | |
467 | #if defined(OF_BIN) |
468 | const unsigned char bin_stdmac[] = { |
469 | /* From ./output/outbin.mac */ |
470 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
471 | /* 26 */ 212,'o','r','g',' ','1','+','.','n','o','l','i','s','t',0, |
472 | /* 41 */ '[','o','r','g',' ','%','1',']',0, |
473 | /* 50 */ 202,0, |
474 | /* 52 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
475 | /* 70 */ 202,0, |
476 | /* 72 */ 0 |
477 | }; |
478 | #endif |
479 | |
480 | #if defined(OF_COFF) || defined(OF_WIN32) || defined(OF_WIN64) |
481 | const unsigned char coff_stdmac[] = { |
482 | /* From ./output/outcoff.mac */ |
483 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
484 | /* 26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
485 | /* 44 */ 202,0, |
486 | /* 46 */ 212,'e','x','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0, |
487 | /* 64 */ '[','e','x','p','o','r','t',' ','%','1',']',0, |
488 | /* 76 */ 202,0, |
489 | /* 78 */ 212,'s','a','f','e','s','e','h',' ','1','.','n','o','l','i','s','t',0, |
490 | /* 96 */ '[','s','a','f','e','s','e','h',' ','%','1',']',0, |
491 | /* 109 */ 202,0, |
492 | /* 111 */ 0 |
493 | }; |
494 | #endif |
495 | |
496 | #if defined(OF_DBG) |
497 | const unsigned char dbg_stdmac[] = { |
498 | /* From ./output/outdbg.mac */ |
499 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
500 | /* 26 */ 212,'g','r','o','u','p',' ','1','+','.','n','o','l','i','s','t',0, |
501 | /* 43 */ '[','g','r','o','u','p',' ','%','1',']',0, |
502 | /* 54 */ 202,0, |
503 | /* 56 */ 212,'u','p','p','e','r','c','a','s','e',' ','0','+','.','n','o','l','i','s','t',0, |
504 | /* 77 */ 221,'d','b','g',' ','u','p','p','e','r','c','a','s','e',' ','%','1',0, |
505 | /* 95 */ 202,0, |
506 | /* 97 */ 212,'e','x','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0, |
507 | /* 115 */ 221,'d','b','g',' ','e','x','p','o','r','t',' ','%','1',0, |
508 | /* 130 */ 202,0, |
509 | /* 132 */ 212,'i','m','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0, |
510 | /* 150 */ 221,'d','b','g',' ','i','m','p','o','r','t',' ','%','1',0, |
511 | /* 165 */ 202,0, |
512 | /* 167 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
513 | /* 185 */ 202,0, |
514 | /* 187 */ 0 |
515 | }; |
516 | #endif |
517 | |
518 | #if defined(OF_ELF) || defined(OF_ELF32) || defined(OF_ELF64) |
519 | const unsigned char elf_stdmac[] = { |
520 | /* From ./output/outelf.mac */ |
521 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
522 | /* 26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
523 | /* 44 */ 195,'$','_','%','1',' ','$','%','1',0, |
524 | /* 54 */ 202,0, |
525 | /* 56 */ 212,'o','s','a','b','i',' ','1','+','.','n','o','l','i','s','t',0, |
526 | /* 73 */ '[','%','?',' ','%','1',']',0, |
527 | /* 81 */ 202,0, |
528 | /* 83 */ 0 |
529 | }; |
530 | #endif |
531 | |
532 | #if defined(OF_MACHO) || defined(OF_MACHO32) || defined(OF_MACHO64) |
533 | const unsigned char macho_stdmac[] = { |
534 | /* From ./output/outmacho.mac */ |
535 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
536 | /* 26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
537 | /* 44 */ 202,0, |
538 | /* 46 */ 212,'s','u','b','s','e','c','t','i','o','n','s','_','v','i','a','_','s','y','m','b','o','l','s',' ','0','.','n','o','l','i','s','t',0, |
539 | /* 80 */ 221,'_','_','O','U','T','P','U','T','_','F','O','R','M','A','T','_','_',' ','%','?',0, |
540 | /* 102 */ 202,0, |
541 | /* 104 */ 212,'n','o','_','d','e','a','d','_','s','t','r','i','p',' ','1','-','*','.','n','o','l','i','s','t',0, |
542 | /* 130 */ 223,'%','0',0, |
543 | /* 134 */ 221,'_','_','O','U','T','P','U','T','_','F','O','R','M','A','T','_','_',' ','%','?',' ','%','1',0, |
544 | /* 159 */ 226,'1',0, |
545 | /* 162 */ 203,0, |
546 | /* 164 */ 202,0, |
547 | /* 166 */ 0 |
548 | }; |
549 | #endif |
550 | |
551 | #if defined(OF_OBJ) |
552 | const unsigned char obj_stdmac[] = { |
553 | /* From ./output/outobj.mac */ |
554 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
555 | /* 26 */ 212,'g','r','o','u','p',' ','1','+','.','n','o','l','i','s','t',0, |
556 | /* 43 */ '[','g','r','o','u','p',' ','%','1',']',0, |
557 | /* 54 */ 202,0, |
558 | /* 56 */ 212,'u','p','p','e','r','c','a','s','e',' ','0','+','.','n','o','l','i','s','t',0, |
559 | /* 77 */ '[','u','p','p','e','r','c','a','s','e',' ','%','1',']',0, |
560 | /* 92 */ 202,0, |
561 | /* 94 */ 212,'e','x','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0, |
562 | /* 112 */ '[','e','x','p','o','r','t',' ','%','1',']',0, |
563 | /* 124 */ 202,0, |
564 | /* 126 */ 212,'i','m','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0, |
565 | /* 144 */ '[','i','m','p','o','r','t',' ','%','1',']',0, |
566 | /* 156 */ 202,0, |
567 | /* 158 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
568 | /* 176 */ 202,0, |
569 | /* 178 */ 0 |
570 | }; |
571 | #endif |
572 | |
573 | #if defined(OF_RDF2) |
574 | const unsigned char rdf2_stdmac[] = { |
575 | /* From ./output/outrdf2.mac */ |
576 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
577 | /* 26 */ 212,'l','i','b','r','a','r','y',' ','1','+','.','n','o','l','i','s','t',0, |
578 | /* 45 */ '[','l','i','b','r','a','r','y',' ','%','1',']',0, |
579 | /* 58 */ 202,0, |
580 | /* 60 */ 212,'m','o','d','u','l','e',' ','1','+','.','n','o','l','i','s','t',0, |
581 | /* 78 */ '[','m','o','d','u','l','e',' ','%','1',']',0, |
582 | /* 90 */ 202,0, |
583 | /* 92 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
584 | /* 110 */ 202,0, |
585 | /* 112 */ 0 |
586 | }; |
587 | #endif |
588 | |
589 | #if defined(OF_RDF) |
590 | const unsigned char rdf_stdmac[] = { |
591 | /* From ./output/outrdf.mac */ |
592 | /* 0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0, |
593 | /* 26 */ 212,'l','i','b','r','a','r','y',' ','1','+','.','n','o','l','i','s','t',0, |
594 | /* 45 */ '[','l','i','b','r','a','r','y',' ','%','1',']',0, |
595 | /* 58 */ 202,0, |
596 | /* 60 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0, |
597 | /* 78 */ 202,0, |
598 | /* 80 */ 0 |
599 | }; |
600 | #endif |
601 | const unsigned char *nasm_stdmac_find_package(const char *package) |
602 | { |
603 | static const struct { |
604 | const char *package; |
605 | const unsigned char *macros; |
606 | } packages[4] = { |
607 | { "altreg" , nasm_usemac_altreg }, |
608 | { "fp" , nasm_usemac_fp }, |
609 | { "ifunc" , nasm_usemac_ifunc }, |
610 | { "smartalign" , nasm_usemac_smartalign }, |
611 | }; |
612 | #define UNUSED (65535/3) |
613 | static const int16_t hash1[4] = { |
614 | 0, |
615 | 0, |
616 | 2, |
617 | -1, |
618 | }; |
619 | static const int16_t hash2[4] = { |
620 | 1, |
621 | 2, |
622 | UNUSED, |
623 | UNUSED, |
624 | }; |
625 | uint32_t k1, k2; |
626 | uint64_t crc; |
627 | uint16_t ix; |
628 | |
629 | crc = crc64i(UINT64_C(0x076259c3e291c26c), package); |
630 | k1 = (uint32_t)crc; |
631 | k2 = (uint32_t)(crc >> 32); |
632 | |
633 | ix = hash1[k1 & 0x3] + hash2[k2 & 0x3]; |
634 | if (ix >= 4) |
635 | return NULL; |
636 | |
637 | if (nasm_stricmp(packages[ix].package, package)) |
638 | return NULL; |
639 | |
640 | return packages[ix].macros; |
641 | } |
642 | |