summaryrefslogtreecommitdiff
path: root/macros.c
blob: 6b6dcf2a438bf9968e956708e390e9adc0f2bef6 (plain)
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
/*
 * Do not edit - this file auto-generated by macros.pl from:
 *   ./standard.mac
 *   version.mac
 *   ./macros/altreg.mac
 *   ./macros/fp.mac
 *   ./macros/ifunc.mac
 *   ./macros/smartalign.mac
 *   ./output/outaout.mac
 *   ./output/outas86.mac
 *   ./output/outbin.mac
 *   ./output/outcoff.mac
 *   ./output/outelf.mac
 *   ./output/outmacho.mac
 *   ./output/outobj.mac
 *   ./output/outrdf.mac
 *   ./output/outrdf2.mac
 */

#include "tables.h"
#include "nasmlib.h"
#include "hashtbl.h"
#include "output/outform.h"

#if 1
const unsigned char nasm_stdmac[] = {
    /* From ./standard.mac */
        /*    0 */ 209,'I','D','E','A','L',0,
        /*    7 */ 209,'J','U','M','P','S',0,
        /*   14 */ 209,'P','3','8','6',0,
        /*   20 */ 209,'P','4','8','6',0,
        /*   26 */ 209,'P','5','8','6',0,
        /*   32 */ 209,'E','N','D',0,
    /* End of TASM macros */
        /*   37 */ 195,'_','_','F','I','L','E','_','_',0,
        /*   47 */ 195,'_','_','L','I','N','E','_','_',0,
        /*   57 */ 195,'_','_','B','I','T','S','_','_',0,
        /*   67 */ 195,'_','_','S','E','C','T','_','_',0,
        /*   77 */ 212,'s','e','c','t','i','o','n',' ','1','+','.','n','o','l','i','s','t',0,
        /*   96 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','%','1',']',0,
        /*  119 */ '_','_','S','E','C','T','_','_',0,
        /*  128 */ 202,0,
        /*  130 */ 212,'s','e','g','m','e','n','t',' ','1','+','.','n','o','l','i','s','t',0,
        /*  149 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','g','m','e','n','t',' ','%','1',']',0,
        /*  172 */ '_','_','S','E','C','T','_','_',0,
        /*  181 */ 202,0,
        /*  183 */ 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,
        /*  222 */ 212,'s','e','c','t','a','l','i','g','n',' ','1','.','n','o','l','i','s','t',0,
        /*  242 */ 178,'%','1',0,
        /*  246 */ 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,
        /*  287 */ '[','s','e','c','t','a','l','i','g','n',' ','%','1',']',0,
        /*  302 */ 200,0,
        /*  304 */ 199,0,
        /*  306 */ 174,'%','1',',','o','f','f',0,
        /*  314 */ 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,
        /*  353 */ 142,'%','1',',','o','n',0,
        /*  360 */ 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,
        /*  399 */ 200,0,
        /*  401 */ 200,0,
        /*  403 */ 202,0,
        /*  405 */ 212,'a','b','s','o','l','u','t','e',' ','1','+','.','n','o','l','i','s','t',0,
        /*  425 */ 195,'_','_','S','E','C','T','_','_',' ','[','a','b','s','o','l','u','t','e',' ','%','1',']',0,
        /*  449 */ '_','_','S','E','C','T','_','_',0,
        /*  458 */ 202,0,
        /*  460 */ 212,'s','t','r','u','c',' ','1','-','2','.','n','o','l','i','s','t',' ','0',0,
        /*  480 */ 221,0,
        /*  482 */ 195,'%','$','s','t','r','u','c','n','a','m','e',' ','%','1',0,
        /*  498 */ '[','a','b','s','o','l','u','t','e',' ','%','2',']',0,
        /*  512 */ '%','$','s','t','r','u','c','n','a','m','e',':',0,
        /*  525 */ 202,0,
        /*  527 */ 212,'e','n','d','s','t','r','u','c',' ','0','.','n','o','l','i','s','t',0,
        /*  546 */ '%','{','$','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,
        /*  585 */ 220,0,
        /*  587 */ '_','_','S','E','C','T','_','_',0,
        /*  596 */ 202,0,
        /*  598 */ 212,'i','s','t','r','u','c',' ','1','.','n','o','l','i','s','t',0,
        /*  615 */ 221,0,
        /*  617 */ 195,'%','$','s','t','r','u','c','n','a','m','e',' ','%','1',0,
        /*  633 */ '%','$','s','t','r','u','c','s','t','a','r','t',':',0,
        /*  647 */ 202,0,
        /*  649 */ 212,'a','t',' ','1','-','2','+','.','n','o','l','i','s','t',0,
        /*  665 */ '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,
        /*  710 */ '%','2',0,
        /*  713 */ 202,0,
        /*  715 */ 212,'i','e','n','d',' ','0','.','n','o','l','i','s','t',0,
        /*  730 */ '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,
        /*  777 */ 220,0,
        /*  779 */ 202,0,
        /*  781 */ 212,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',' ','n','o','p',0,
        /*  804 */ 's','e','c','t','a','l','i','g','n',' ','%','1',0,
        /*  817 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0,
        /*  860 */ 202,0,
        /*  862 */ 212,'a','l','i','g','n','b',' ','1','-','2','+','.','n','o','l','i','s','t',0,
        /*  882 */ 's','e','c','t','a','l','i','g','n',' ','%','1',0,
        /*  895 */ 166,'%','2',0,
        /*  899 */ 'r','e','s','b',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',0,
        /*  938 */ 199,0,
        /*  940 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0,
        /*  983 */ 200,0,
        /*  985 */ 202,0,
        /*  987 */ 212,'e','x','t','e','r','n',' ','1','-','*','.','n','o','l','i','s','t',0,
        /* 1006 */ 222,'%','0',0,
        /* 1010 */ '[','e','x','t','e','r','n',' ','%','1',']',0,
        /* 1022 */ 225,'1',0,
        /* 1025 */ 203,0,
        /* 1027 */ 202,0,
        /* 1029 */ 212,'b','i','t','s',' ','1','+','.','n','o','l','i','s','t',0,
        /* 1045 */ '[','b','i','t','s',' ','%','1',']',0,
        /* 1055 */ 202,0,
        /* 1057 */ 212,'u','s','e','1','6',' ','0','.','n','o','l','i','s','t',0,
        /* 1073 */ '[','b','i','t','s',' ','1','6',']',0,
        /* 1083 */ 202,0,
        /* 1085 */ 212,'u','s','e','3','2',' ','0','.','n','o','l','i','s','t',0,
        /* 1101 */ '[','b','i','t','s',' ','3','2',']',0,
        /* 1111 */ 202,0,
        /* 1113 */ 212,'u','s','e','6','4',' ','0','.','n','o','l','i','s','t',0,
        /* 1129 */ '[','b','i','t','s',' ','6','4',']',0,
        /* 1139 */ 202,0,
        /* 1141 */ 212,'g','l','o','b','a','l',' ','1','-','*','.','n','o','l','i','s','t',0,
        /* 1160 */ 222,'%','0',0,
        /* 1164 */ '[','g','l','o','b','a','l',' ','%','1',']',0,
        /* 1176 */ 225,'1',0,
        /* 1179 */ 203,0,
        /* 1181 */ 202,0,
        /* 1183 */ 212,'c','o','m','m','o','n',' ','1','-','*','.','n','o','l','i','s','t',0,
        /* 1202 */ 222,'%','0',0,
        /* 1206 */ '[','c','o','m','m','o','n',' ','%','1',']',0,
        /* 1218 */ 225,'1',0,
        /* 1221 */ 203,0,
        /* 1223 */ 202,0,
        /* 1225 */ 212,'c','p','u',' ','1','+','.','n','o','l','i','s','t',0,
        /* 1240 */ '[','c','p','u',' ','%','1',']',0,
        /* 1249 */ 202,0,
        /* 1251 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0,
        /* 1272 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0,
        /* 1294 */ 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,
        /* 1335 */ 212,'f','l','o','a','t',' ','1','-','*','.','n','o','l','i','s','t',0,
        /* 1353 */ 222,'%','0',0,
        /* 1357 */ '[','f','l','o','a','t',' ','%','1',']',0,
        /* 1368 */ 174,'%','1',',','d','a','z',0,
        /* 1376 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','d','a','z',0,
        /* 1395 */ 142,'%','1',',','n','o','d','a','z',0,
        /* 1405 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0,
        /* 1426 */ 142,'%','1',',','n','e','a','r',0,
        /* 1435 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0,
        /* 1457 */ 142,'%','1',',','u','p',0,
        /* 1464 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','u','p',0,
        /* 1484 */ 142,'%','1',',','d','o','w','n',0,
        /* 1493 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','d','o','w','n',0,
        /* 1515 */ 142,'%','1',',','z','e','r','o',0,
        /* 1524 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','z','e','r','o',0,
        /* 1546 */ 142,'%','1',',','d','e','f','a','u','l','t',0,
        /* 1558 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0,
        /* 1579 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0,
        /* 1601 */ 200,0,
        /* 1603 */ 225,'1',0,
        /* 1606 */ 203,0,
        /* 1608 */ 202,0,
        /* 1610 */ 212,'d','e','f','a','u','l','t',' ','1','+','.','n','o','l','i','s','t',0,
        /* 1629 */ '[','d','e','f','a','u','l','t',' ','%','1',']',0,
        /* 1642 */ 202,0,
        /* 1644 */ 212,'i','n','c','b','i','n',' ','1','-','2','+','.','n','o','l','i','s','t',' ','0',0,
        /* 1666 */ 221,0,
        /* 1668 */ 219,'%','$','d','e','p',' ','%','1',0,
        /* 1678 */ 198,'%','$','d','e','p',0,
        /* 1685 */ '%','?',' ','%','$','d','e','p',',','%','2',0,
        /* 1697 */ 220,0,
        /* 1699 */ 202,0,

    /* From version.mac */
        /* 1701 */ 195,'_','_','N','A','S','M','_','M','A','J','O','R','_','_',' ','2',0,
        /* 1719 */ 195,'_','_','N','A','S','M','_','M','I','N','O','R','_','_',' ','1','0',0,
        /* 1738 */ 195,'_','_','N','A','S','M','_','S','U','B','M','I','N','O','R','_','_',' ','7',0,
        /* 1759 */ 195,'_','_','N','A','S','M','_','P','A','T','C','H','L','E','V','E','L','_','_',' ','0',0,
        /* 1782 */ 195,'_','_','N','A','S','M','_','V','E','R','S','I','O','N','_','I','D','_','_',' ','0','0','2','0','A','0','7','0','0','h',0,
        /* 1814 */ 195,'_','_','N','A','S','M','_','V','E','R','_','_',' ', 34,'2','.','1','0','.','0','7', 34,0,
        /* 1838 */ 0
};
#endif

#if 1
static const unsigned char nasm_stdmac_altreg[] = {
    /* From ./macros/altreg.mac */
        /*    0 */ 195,'_','_','U','S','E','_','A','L','T','R','E','G','_','_',0,
        /*   16 */ 209,'r','8','l',' ',' ','r','8','b',0,
        /*   26 */ 209,'r','9','l',' ',' ','r','9','b',0,
        /*   36 */ 209,'r','1','0','l',' ','r','1','0','b',0,
        /*   47 */ 209,'r','1','1','l',' ','r','1','1','b',0,
        /*   58 */ 209,'r','1','2','l',' ','r','1','2','b',0,
        /*   69 */ 209,'r','1','3','l',' ','r','1','3','b',0,
        /*   80 */ 209,'r','1','4','l',' ','r','1','4','b',0,
        /*   91 */ 209,'r','1','5','l',' ','r','1','5','b',0,
        /*  102 */ 209,'r','0',' ',' ','r','a','x',0,
        /*  111 */ 209,'r','1',' ',' ','r','c','x',0,
        /*  120 */ 209,'r','2',' ',' ','r','d','x',0,
        /*  129 */ 209,'r','3',' ',' ','r','b','x',0,
        /*  138 */ 209,'r','4',' ',' ','r','s','p',0,
        /*  147 */ 209,'r','5',' ',' ','r','b','p',0,
        /*  156 */ 209,'r','6',' ',' ','r','s','i',0,
        /*  165 */ 209,'r','7',' ',' ','r','d','i',0,
        /*  174 */ 209,'r','0','d',' ','e','a','x',0,
        /*  183 */ 209,'r','1','d',' ','e','c','x',0,
        /*  192 */ 209,'r','2','d',' ','e','d','x',0,
        /*  201 */ 209,'r','3','d',' ','e','b','x',0,
        /*  210 */ 209,'r','4','d',' ','e','s','p',0,
        /*  219 */ 209,'r','5','d',' ','e','b','p',0,
        /*  228 */ 209,'r','6','d',' ','e','s','i',0,
        /*  237 */ 209,'r','7','d',' ','e','d','i',0,
        /*  246 */ 209,'r','0','w',' ','a','x',0,
        /*  254 */ 209,'r','1','w',' ','c','x',0,
        /*  262 */ 209,'r','2','w',' ','d','x',0,
        /*  270 */ 209,'r','3','w',' ','b','x',0,
        /*  278 */ 209,'r','4','w',' ','s','p',0,
        /*  286 */ 209,'r','5','w',' ','b','p',0,
        /*  294 */ 209,'r','6','w',' ','s','i',0,
        /*  302 */ 209,'r','7','w',' ','d','i',0,
        /*  310 */ 209,'r','0','b',' ','a','l',0,
        /*  318 */ 209,'r','1','b',' ','c','l',0,
        /*  326 */ 209,'r','2','b',' ','d','l',0,
        /*  334 */ 209,'r','3','b',' ','b','l',0,
        /*  342 */ 209,'r','4','b',' ','s','p','l',0,
        /*  351 */ 209,'r','5','b',' ','b','p','l',0,
        /*  360 */ 209,'r','6','b',' ','s','i','l',0,
        /*  369 */ 209,'r','7','b',' ','d','i','l',0,
        /*  378 */ 209,'r','0','l',' ','a','l',0,
        /*  386 */ 209,'r','1','l',' ','c','l',0,
        /*  394 */ 209,'r','2','l',' ','d','l',0,
        /*  402 */ 209,'r','3','l',' ','b','l',0,
        /*  410 */ 209,'r','4','l',' ','s','p','l',0,
        /*  419 */ 209,'r','5','l',' ','b','p','l',0,
        /*  428 */ 209,'r','6','l',' ','s','i','l',0,
        /*  437 */ 209,'r','7','l',' ','d','i','l',0,
        /*  446 */ 209,'r','0','h',' ','a','h',0,
        /*  454 */ 209,'r','1','h',' ','c','h',0,
        /*  462 */ 209,'r','2','h',' ','d','h',0,
        /*  470 */ 209,'r','3','h',' ','b','h',0,
        /*  478 */ 0
};
#endif

#if 1
static const unsigned char nasm_stdmac_fp[] = {
    /* From ./macros/fp.mac */
        /*    0 */ 195,'_','_','U','S','E','_','F','P','_','_',0,
        /*   12 */ 195,'I','n','f',  9,  9,'_','_','I','n','f','i','n','i','t','y','_','_',0,
        /*   31 */ 195,'N','a','N',  9,  9,'_','_','Q','N','a','N','_','_',0,
        /*   46 */ 195,'Q','N','a','N',  9,  9,'_','_','Q','N','a','N','_','_',0,
        /*   62 */ 195,'S','N','a','N',  9,  9,'_','_','S','N','a','N','_','_',0,
        /*   78 */ 195,'f','l','o','a','t','8','(','x',')',  9,'_','_','f','l','o','a','t','8','_','_','(','x',')',0,
        /*  103 */ 195,'f','l','o','a','t','1','6','(','x',')',  9,'_','_','f','l','o','a','t','1','6','_','_','(','x',')',0,
        /*  130 */ 195,'f','l','o','a','t','3','2','(','x',')',  9,'_','_','f','l','o','a','t','3','2','_','_','(','x',')',0,
        /*  157 */ 195,'f','l','o','a','t','6','4','(','x',')',  9,'_','_','f','l','o','a','t','6','4','_','_','(','x',')',0,
        /*  184 */ 195,'f','l','o','a','t','8','0','m','(','x',')',  9,'_','_','f','l','o','a','t','8','0','m','_','_','(','x',')',0,
        /*  213 */ 195,'f','l','o','a','t','8','0','e','(','x',')',  9,'_','_','f','l','o','a','t','8','0','e','_','_','(','x',')',0,
        /*  242 */ 195,'f','l','o','a','t','1','2','8','l','(','x',')',  9,'_','_','f','l','o','a','t','1','2','8','l','_','_','(','x',')',0,
        /*  273 */ 195,'f','l','o','a','t','1','2','8','h','(','x',')',  9,'_','_','f','l','o','a','t','1','2','8','h','_','_','(','x',')',0,
        /*  304 */ 0
};
#endif

#if 1
static const unsigned char nasm_stdmac_ifunc[] = {
    /* From ./macros/ifunc.mac */
        /*    0 */ 195,'_','_','U','S','E','_','I','F','U','N','C','_','_',0,
        /*   15 */ 209,'i','l','o','g','2','(','x',')',  9,'(','_','_','i','l','o','g','2','e','_','_','(','x',')',')',0,
        /*   41 */ 209,'i','l','o','g','2','e','(','x',')',  9,'(','_','_','i','l','o','g','2','e','_','_','(','x',')',')',0,
        /*   68 */ 209,'i','l','o','g','2','w','(','x',')',  9,'(','_','_','i','l','o','g','2','w','_','_','(','x',')',')',0,
        /*   95 */ 209,'i','l','o','g','2','f','(','x',')',  9,'(','_','_','i','l','o','g','2','f','_','_','(','x',')',')',0,
        /*  122 */ 209,'i','l','o','g','2','c','(','x',')',  9,'(','_','_','i','l','o','g','2','c','_','_','(','x',')',')',0,
        /*  149 */ 0
};
#endif

#if 1
static const unsigned char nasm_stdmac_smartalign[] = {
    /* From ./macros/smartalign.mac */
        /*    0 */ 195,'_','_','U','S','E','_','S','M','A','R','T','A','L','I','G','N','_','_',0,
        /*   20 */ 212,'a','l','i','g','n','m','o','d','e',' ','1','-','2','.','n','o','l','i','s','t',0,
        /*   42 */ 174,'%','1',',','n','o','p',0,
        /*   50 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0,
        /*   78 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /*  103 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','1',0,
        /*  128 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /*  153 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','1',0,
        /*  178 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /*  203 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','1',0,
        /*  228 */ 142,'%','1',',','g','e','n','e','r','i','c',0,
        /*  240 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','8',0,
        /*  267 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /*  292 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','8','9',',','0','x','f','6',0,
        /*  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,
        /*  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,
        /*  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,
        /*  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,
        /*  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,
        /*  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,
        /*  607 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','8',0,
        /*  632 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /*  657 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','8','9',',','0','x','f','6',0,
        /*  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,
        /*  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,
        /*  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,
        /*  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,
        /*  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,
        /*  912 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','7',0,
        /*  937 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /*  962 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /*  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,
        /* 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,
        /* 1067 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 1092 */ 142,'%','1',',','k','8',0,
        /* 1099 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0,
        /* 1127 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 1152 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 1257 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 1282 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 1307 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 1412 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 1437 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 1462 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 1567 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 1592 */ 142,'%','1',',','k','7',0,
        /* 1599 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0,
        /* 1627 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 1652 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 1757 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 1782 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 1807 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','8','b',',','0','x','c','0',0,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 2062 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','7',0,
        /* 2087 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 2112 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 2217 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 2242 */ 142,'%','1',',','p','6',0,
        /* 2249 */ 195,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','1','6',0,
        /* 2277 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 2302 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 2407 */ 195,'_','_','A','L','I','G','N','_','1','6','B','I','T','_','G','R','O','U','P','_','_',' ','4',0,
        /* 2432 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 2457 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 2772 */ 195,'_','_','A','L','I','G','N','_','3','2','B','I','T','_','G','R','O','U','P','_','_',' ','8',0,
        /* 2797 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','1','B','_','_',' ','0','x','9','0',0,
        /* 2822 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','2','B','_','_',' ','0','x','6','6',',','0','x','9','0',0,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 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,
        /* 3137 */ 195,'_','_','A','L','I','G','N','_','6','4','B','I','T','_','G','R','O','U','P','_','_',' ','8',0,
        /* 3162 */ 199,0,
        /* 3164 */ 204,'u','n','k','n','o','w','n',' ','a','l','i','g','n','m','e','n','t',' ','m','o','d','e',':',' ','%','1',0,
        /* 3192 */ 200,0,
        /* 3194 */ 167,'%','2',0,
        /* 3198 */ 174,'%','2',',','n','o','j','m','p',0,
        /* 3208 */ 235,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','-','1',0,
        /* 3236 */ 199,0,
        /* 3238 */ 235,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','%','2',0,
        /* 3266 */ 200,0,
        /* 3268 */ 200,0,
        /* 3270 */ 235,'_','_','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,
        /* 3312 */ 202,0,
        /* 3314 */ 231,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',0,
        /* 3333 */ 212,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',0,
        /* 3352 */ 's','e','c','t','a','l','i','g','n',' ','%','1',0,
        /* 3365 */ 167,'%','2',0,
        /* 3369 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0,
        /* 3412 */ 199,0,
        /* 3414 */ 221,0,
        /* 3416 */ 193,'%','$','p','a','d',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',0,
        /* 3457 */ 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,
        /* 3523 */ 'j','m','p',' ','%','$','e','n','d',0,
        /* 3533 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','n','o','p',0,
        /* 3577 */ '%','$','e','n','d',':',0,
        /* 3584 */ 199,0,
        /* 3586 */ '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,
        /* 3704 */ 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,
        /* 3750 */ 160,'%','$','p','a','d',' ','>',' ','0',0,
        /* 3761 */ 'd','b',' ','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','%','[','%','$','p','a','d',']','B','_','_',0,
        /* 3799 */ 200,0,
        /* 3801 */ 200,0,
        /* 3803 */ 220,0,
        /* 3805 */ 200,0,
        /* 3807 */ 202,0,
        /* 3809 */ 'a','l','i','g','n','m','o','d','e',' ','g','e','n','e','r','i','c',0,
        /* 3827 */ 0
};
#endif

#if defined(OF_AOUT) || defined(OF_AOUTB)
const unsigned char aout_stdmac[] = {
    /* From ./output/outaout.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   44 */ 202,0,
        /*   46 */ 0
};
#endif

#if defined(OF_AS86)
const unsigned char as86_stdmac[] = {
    /* From ./output/outas86.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   44 */ 202,0,
        /*   46 */ 0
};
#endif

#if defined(OF_BIN)
const unsigned char bin_stdmac[] = {
    /* From ./output/outbin.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 212,'o','r','g',' ','1','+','.','n','o','l','i','s','t',0,
        /*   41 */ '[','o','r','g',' ','%','1',']',0,
        /*   50 */ 202,0,
        /*   52 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   70 */ 202,0,
        /*   72 */ 0
};
#endif

#if defined(OF_COFF) || defined(OF_WIN32) || defined(OF_WIN64)
const unsigned char coff_stdmac[] = {
    /* From ./output/outcoff.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   44 */ 202,0,
        /*   46 */ 212,'e','x','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0,
        /*   64 */ '[','e','x','p','o','r','t',' ','%','1',']',0,
        /*   76 */ 202,0,
        /*   78 */ 212,'s','a','f','e','s','e','h',' ','1','.','n','o','l','i','s','t',0,
        /*   96 */ '[','s','a','f','e','s','e','h',' ','%','1',']',0,
        /*  109 */ 202,0,
        /*  111 */ 0
};
#endif

#if defined(OF_ELF) || defined(OF_ELF32) || defined(OF_ELF64)
const unsigned char elf_stdmac[] = {
    /* From ./output/outelf.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   44 */ 195,'$','_','%','1',' ','$','%','1',0,
        /*   54 */ 202,0,
        /*   56 */ 218,'o','s','a','b','i',' ','1','+','.','n','o','l','i','s','t',0,
        /*   73 */ '[','o','s','a','b','i',' ','%','1',']',0,
        /*   84 */ 202,0,
        /*   86 */ 0
};
#endif

#if defined(OF_MACHO) || defined(OF_MACHO32) || defined(OF_MACHO64)
const unsigned char macho_stdmac[] = {
    /* From ./output/outmacho.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   44 */ 202,0,
        /*   46 */ 0
};
#endif

#if defined(OF_OBJ)
const unsigned char obj_stdmac[] = {
    /* From ./output/outobj.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 212,'g','r','o','u','p',' ','1','+','.','n','o','l','i','s','t',0,
        /*   43 */ '[','g','r','o','u','p',' ','%','1',']',0,
        /*   54 */ 202,0,
        /*   56 */ 212,'u','p','p','e','r','c','a','s','e',' ','0','+','.','n','o','l','i','s','t',0,
        /*   77 */ '[','u','p','p','e','r','c','a','s','e',' ','%','1',']',0,
        /*   92 */ 202,0,
        /*   94 */ 212,'e','x','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0,
        /*  112 */ '[','e','x','p','o','r','t',' ','%','1',']',0,
        /*  124 */ 202,0,
        /*  126 */ 212,'i','m','p','o','r','t',' ','1','+','.','n','o','l','i','s','t',0,
        /*  144 */ '[','i','m','p','o','r','t',' ','%','1',']',0,
        /*  156 */ 202,0,
        /*  158 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*  176 */ 202,0,
        /*  178 */ 0
};
#endif

#if defined(OF_RDF)
const unsigned char rdf_stdmac[] = {
    /* From ./output/outrdf.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 212,'l','i','b','r','a','r','y',' ','1','+','.','n','o','l','i','s','t',0,
        /*   45 */ '[','l','i','b','r','a','r','y',' ','%','1',']',0,
        /*   58 */ 202,0,
        /*   60 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*   78 */ 202,0,
        /*   80 */ 0
};
#endif

#if defined(OF_RDF2)
const unsigned char rdf2_stdmac[] = {
    /* From ./output/outrdf2.mac */
        /*    0 */ 195,'_','_','S','E','C','T','_','_',' ','[','s','e','c','t','i','o','n',' ','.','t','e','x','t',']',0,
        /*   26 */ 212,'l','i','b','r','a','r','y',' ','1','+','.','n','o','l','i','s','t',0,
        /*   45 */ '[','l','i','b','r','a','r','y',' ','%','1',']',0,
        /*   58 */ 202,0,
        /*   60 */ 212,'m','o','d','u','l','e',' ','1','+','.','n','o','l','i','s','t',0,
        /*   78 */ '[','m','o','d','u','l','e',' ','%','1',']',0,
        /*   90 */ 202,0,
        /*   92 */ 218,'_','_','N','A','S','M','_','C','D','e','c','l','_','_',' ','1',0,
        /*  110 */ 202,0,
        /*  112 */ 0
};
#endif

const unsigned char * const nasm_stdmac_after_tasm = &nasm_stdmac[37];

const unsigned char *nasm_stdmac_find_package(const char *package)
{
    static const struct {
         const char *package;
         const unsigned char *macros;
    } packages[4] = {
        { "altreg", nasm_stdmac_altreg },
        { "fp", nasm_stdmac_fp },
        { "ifunc", nasm_stdmac_ifunc },
        { "smartalign", nasm_stdmac_smartalign },
    };
#define UNUSED 16383
    static const int16_t hash1[4] = {
        0,
        0,
        2,
        -1,
    };
    static const int16_t hash2[4] = {
        1,
        2,
        UNUSED,
        UNUSED,
    };
    uint32_t k1, k2;
    uint64_t crc;
    uint16_t ix;

    crc = crc64i(UINT64_C(0x076259c3e291c26c), package);
    k1 = (uint32_t)crc;
    k2 = (uint32_t)(crc >> 32);

    ix = hash1[k1 & 0x3] + hash2[k2 & 0x3];
    if (ix >= 4)
        return NULL;

    if (nasm_stricmp(packages[ix].package, package))
        return NULL;

    return packages[ix].macros;
}