summaryrefslogtreecommitdiff
path: root/macros.c
diff options
context:
space:
mode:
Diffstat (limited to 'macros.c')
-rw-r--r--macros.c516
1 files changed, 516 insertions, 0 deletions
diff --git a/macros.c b/macros.c
new file mode 100644
index 0000000..5bd88f3
--- /dev/null
+++ b/macros.c
@@ -0,0 +1,516 @@
+/*
+ * Do not edit - this file auto-generated by macros.pl from:
+ * ./standard.mac
+ * version.mac
+ * ./macros/altreg.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 */ 212,'a','b','s','o','l','u','t','e',' ','1','+','.','n','o','l','i','s','t',0,
+ /* 203 */ 195,'_','_','S','E','C','T','_','_',' ','[','a','b','s','o','l','u','t','e',' ','%','1',']',0,
+ /* 227 */ '_','_','S','E','C','T','_','_',0,
+ /* 236 */ 202,0,
+ /* 238 */ 212,'s','t','r','u','c',' ','1','-','2','.','n','o','l','i','s','t',' ','0',0,
+ /* 258 */ 221,0,
+ /* 260 */ 195,'%','$','s','t','r','u','c','n','a','m','e',' ','%','1',0,
+ /* 276 */ '[','a','b','s','o','l','u','t','e',' ','%','2',']',0,
+ /* 290 */ '%','$','s','t','r','u','c','n','a','m','e',':',0,
+ /* 303 */ 202,0,
+ /* 305 */ 212,'e','n','d','s','t','r','u','c',' ','0','.','n','o','l','i','s','t',0,
+ /* 324 */ '%','{','$','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,
+ /* 363 */ 220,0,
+ /* 365 */ '_','_','S','E','C','T','_','_',0,
+ /* 374 */ 202,0,
+ /* 376 */ 212,'i','s','t','r','u','c',' ','1','.','n','o','l','i','s','t',0,
+ /* 393 */ 221,0,
+ /* 395 */ 195,'%','$','s','t','r','u','c','n','a','m','e',' ','%','1',0,
+ /* 411 */ '%','$','s','t','r','u','c','s','t','a','r','t',':',0,
+ /* 425 */ 202,0,
+ /* 427 */ 212,'a','t',' ','1','-','2','+','.','n','o','l','i','s','t',0,
+ /* 443 */ '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,
+ /* 488 */ '%','2',0,
+ /* 491 */ 202,0,
+ /* 493 */ 212,'i','e','n','d',' ','0','.','n','o','l','i','s','t',0,
+ /* 508 */ '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,
+ /* 555 */ 220,0,
+ /* 557 */ 202,0,
+ /* 559 */ 212,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',' ','n','o','p',0,
+ /* 582 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0,
+ /* 625 */ 202,0,
+ /* 627 */ 212,'a','l','i','g','n','b',' ','1','-','2','+','.','n','o','l','i','s','t',0,
+ /* 647 */ 166,'%','2',0,
+ /* 651 */ 'r','e','s','b',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',0,
+ /* 690 */ 199,0,
+ /* 692 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0,
+ /* 735 */ 200,0,
+ /* 737 */ 202,0,
+ /* 739 */ 212,'e','x','t','e','r','n',' ','1','-','*','.','n','o','l','i','s','t',0,
+ /* 758 */ 222,'%','0',0,
+ /* 762 */ '[','e','x','t','e','r','n',' ','%','1',']',0,
+ /* 774 */ 225,'1',0,
+ /* 777 */ 203,0,
+ /* 779 */ 202,0,
+ /* 781 */ 212,'b','i','t','s',' ','1','+','.','n','o','l','i','s','t',0,
+ /* 797 */ '[','b','i','t','s',' ','%','1',']',0,
+ /* 807 */ 202,0,
+ /* 809 */ 212,'u','s','e','1','6',' ','0','.','n','o','l','i','s','t',0,
+ /* 825 */ '[','b','i','t','s',' ','1','6',']',0,
+ /* 835 */ 202,0,
+ /* 837 */ 212,'u','s','e','3','2',' ','0','.','n','o','l','i','s','t',0,
+ /* 853 */ '[','b','i','t','s',' ','3','2',']',0,
+ /* 863 */ 202,0,
+ /* 865 */ 212,'u','s','e','6','4',' ','0','.','n','o','l','i','s','t',0,
+ /* 881 */ '[','b','i','t','s',' ','6','4',']',0,
+ /* 891 */ 202,0,
+ /* 893 */ 212,'g','l','o','b','a','l',' ','1','-','*','.','n','o','l','i','s','t',0,
+ /* 912 */ 222,'%','0',0,
+ /* 916 */ '[','g','l','o','b','a','l',' ','%','1',']',0,
+ /* 928 */ 225,'1',0,
+ /* 931 */ 203,0,
+ /* 933 */ 202,0,
+ /* 935 */ 212,'c','o','m','m','o','n',' ','1','-','*','.','n','o','l','i','s','t',0,
+ /* 954 */ 222,'%','0',0,
+ /* 958 */ '[','c','o','m','m','o','n',' ','%','1',']',0,
+ /* 970 */ 225,'1',0,
+ /* 973 */ 203,0,
+ /* 975 */ 202,0,
+ /* 977 */ 212,'c','p','u',' ','1','+','.','n','o','l','i','s','t',0,
+ /* 992 */ '[','c','p','u',' ','%','1',']',0,
+ /* 1001 */ 202,0,
+ /* 1003 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0,
+ /* 1024 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0,
+ /* 1046 */ 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,
+ /* 1087 */ 212,'f','l','o','a','t',' ','1','-','*','.','n','o','l','i','s','t',0,
+ /* 1105 */ 222,'%','0',0,
+ /* 1109 */ '[','f','l','o','a','t',' ','%','1',']',0,
+ /* 1120 */ 172,'%','1',',','d','a','z',0,
+ /* 1128 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','d','a','z',0,
+ /* 1147 */ 140,'%','1',',','n','o','d','a','z',0,
+ /* 1157 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0,
+ /* 1178 */ 140,'%','1',',','n','e','a','r',0,
+ /* 1187 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0,
+ /* 1209 */ 140,'%','1',',','u','p',0,
+ /* 1216 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','u','p',0,
+ /* 1236 */ 140,'%','1',',','d','o','w','n',0,
+ /* 1245 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','d','o','w','n',0,
+ /* 1267 */ 140,'%','1',',','z','e','r','o',0,
+ /* 1276 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','z','e','r','o',0,
+ /* 1298 */ 140,'%','1',',','d','e','f','a','u','l','t',0,
+ /* 1310 */ 195,'_','_','F','L','O','A','T','_','D','A','Z','_','_',' ','n','o','d','a','z',0,
+ /* 1331 */ 195,'_','_','F','L','O','A','T','_','R','O','U','N','D','_','_',' ','n','e','a','r',0,
+ /* 1353 */ 200,0,
+ /* 1355 */ 225,'1',0,
+ /* 1358 */ 203,0,
+ /* 1360 */ 202,0,
+ /* 1362 */ 212,'d','e','f','a','u','l','t',' ','1','+','.','n','o','l','i','s','t',0,
+ /* 1381 */ '[','d','e','f','a','u','l','t',' ','%','1',']',0,
+ /* 1394 */ 202,0,
+ /* 1396 */ 212,'i','n','c','b','i','n',' ','1','-','2','+','.','n','o','l','i','s','t',' ','0',0,
+ /* 1418 */ 221,0,
+ /* 1420 */ 219,'%','$','d','e','p',' ','%','1',0,
+ /* 1430 */ 198,'%','$','d','e','p',0,
+ /* 1437 */ '%','?',' ','%','$','d','e','p',',','%','2',0,
+ /* 1449 */ 220,0,
+ /* 1451 */ 202,0,
+
+ /* From version.mac */
+ /* 1453 */ 195,'_','_','N','A','S','M','_','M','A','J','O','R','_','_',' ','2',0,
+ /* 1471 */ 195,'_','_','N','A','S','M','_','M','I','N','O','R','_','_',' ','7',0,
+ /* 1489 */ 195,'_','_','N','A','S','M','_','S','U','B','M','I','N','O','R','_','_',' ','9','9',0,
+ /* 1511 */ 195,'_','_','N','A','S','M','_','P','A','T','C','H','L','E','V','E','L','_','_',' ','9','7',0,
+ /* 1535 */ 195,'_','_','N','A','S','M','_','V','E','R','S','I','O','N','_','I','D','_','_',' ','0','0','2','0','7','6','3','6','1','h',0,
+ /* 1567 */ 195,'_','_','N','A','S','M','_','V','E','R','_','_',' ', 34,'2','.','0','8','r','c','7', 34,0,
+ /* 1591 */ 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_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 */ 172,'%','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 */ 140,'%','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 */ 140,'%','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 */ 140,'%','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 */ 140,'%','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 */ 235,'_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',' ','%','2',0,
+ /* 3226 */ 200,0,
+ /* 3228 */ 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,
+ /* 3270 */ 202,0,
+ /* 3272 */ 231,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',0,
+ /* 3291 */ 212,'a','l','i','g','n',' ','1','-','2','+','.','n','o','l','i','s','t',0,
+ /* 3310 */ 167,'%','2',0,
+ /* 3314 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','%','2',0,
+ /* 3357 */ 199,0,
+ /* 3359 */ 221,0,
+ /* 3361 */ 193,'%','$','p','a','d',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',0,
+ /* 3402 */ 160,'%','$','p','a','d',' ','>',' ','_','_','A','L','I','G','N','_','J','M','P','_','T','H','R','E','S','H','O','L','D','_','_',0,
+ /* 3435 */ 'j','m','p',' ','%','$','e','n','d',0,
+ /* 3445 */ 't','i','m','e','s',' ','(','(','(','%','1',')',' ','-',' ','(','(','$','-','$','$',')',' ','%',' ','(','%','1',')',')',')',' ','%',' ','(','%','1',')',')',' ','n','o','p',0,
+ /* 3489 */ '%','$','e','n','d',':',0,
+ /* 3496 */ 199,0,
+ /* 3498 */ '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','_','_',')',' ', 9,'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,
+ /* 3609 */ 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,
+ /* 3655 */ 160,'%','$','p','a','d',' ','>',' ','0',0,
+ /* 3666 */ 'd','b',' ','_','_','A','L','I','G','N','_','%','[','_','_','B','I','T','S','_','_',']','B','I','T','_','%','[','%','$','p','a','d',']','B','_','_',0,
+ /* 3704 */ 200,0,
+ /* 3706 */ 200,0,
+ /* 3708 */ 220,0,
+ /* 3710 */ 200,0,
+ /* 3712 */ 202,0,
+ /* 3714 */ 'a','l','i','g','n','m','o','d','e',' ','g','e','n','e','r','i','c',0,
+ /* 3732 */ 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[2] = {
+ { "altreg", nasm_stdmac_altreg },
+ { "smartalign", nasm_stdmac_smartalign },
+ };
+#define UNUSED 16383
+ static const int16_t hash1[2] = {
+ 0,
+ -1,
+ };
+ static const int16_t hash2[2] = {
+ 1,
+ 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 & 0x1] + hash2[k2 & 0x1];
+ if (ix >= 2)
+ return NULL;
+
+ if (nasm_stricmp(packages[ix].package, package))
+ return NULL;
+
+ return packages[ix].macros;
+}