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
28const 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
41static 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
101static 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
121static 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
136static 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
276const 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
289const 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)
448const 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)
458const 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)
468const 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)
481const 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)
497const 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)
519const 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)
533const 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)
552const 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)
574const 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)
590const 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
601const 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