1 /*
2  * Copyright (c) 2007-2013 Michael Mondy
3  * Copyright (c) 2012-2016 Harry Reed
4  * Copyright (c) 2013-2016 Charles Anthony
5  * Copyright (c) 2021 The DPS8M Development Team
6  *
7  * All rights reserved.
8  *
9  * This software is made available under the terms of the ICU
10  * License, version 1.8.1 or later.  For more details, see the
11  * LICENSE.md file at the top-level directory of this distribution.
12  */
13 
14 extern char GEBcdToASCII[64];   ///< GEBCD => ASCII map
15 #ifndef QUIET_UNUSED
16 extern char ASCIIToGEBcd[128];  ///< ASCII => GEBCD map
17 #endif
18 
19 #ifndef QUIET_UNUSED
20 extern char *op0text[512];
21 extern char *op1text[512];
22 extern char *opcodes2text[1024];
23 #endif
24 
25 struct adrMods {
26     const char *mod;    ///< mnemonic
27     int   Td;           ///< Td value
28     int   Flags;
29 };
30 typedef struct adrMods adrMods;
31 
32 extern struct adrMods extMods[0100]; ///< extended address modifiers
33 extern struct opcode_s opcodes10[02000];
34 #ifdef PANEL
35 extern word8 insGrp [02000];
36 // CPT 3U 0-35, 3L 0-17
37 enum { GRP_UNKN =   0,
38        GRP_FXDML =  1,  // Fixed-Point Data Movement Load
39        GRP_FXDMS =  2,  // Fixed-Point Data Movement Store
40        GRP_FXDMR =  3,  // Fixed-Point Data Movement Shift
41        GRP_FXA =    4,  // Fixed-Point Addition
42        GRP_FXS =    5,  // Fixed-Point Subtraction
43        GRP_FXM =    6,  // Fixed-Point Multiplication
44        GRP_FXD =    7,  // Fixed-Point Division
45        GRP_FXN =    8,  // Fixed-Point Negate
46        GRP_FXC =    9,  // Fixed-Point Comparision
47        GRP_FXI =   10,  // Fixed-Point Miscellaneous
48        GRP_BA =    11,  // Boolean And
49        GRP_BO =    12,  // Boolean Or
50        GRP_BE =    13,  // Boolean Exclusive Or
51        GRP_BCA =   14,  // Boolean Comparative And
52        GRP_BCN =   15,  // Boolean Comparative Not
53        GRP_FLDML = 16,  // Floating-Point Data Movement Load
54        GRP_FLDMS = 17,  // Floating-Point Data Movement Store
55        GRP_FLA =   18,  // Floating-Point Addition
56        GRP_FLS =   19,  // Floating-Point Subtraction
57        GRP_FLM =   20,  // Floating-Point Multiplication
58        GRP_FLD =   21,  // Floating-Point Division
59        GRP_FLN =   22,  // Floating-Point Negate
60        GRP_FLNOR = 23,  // Floating-Point Normalize
61        GRP_FLR =   24,  // Floating-Point Round
62        GRP_FLC =   25,  // Floating-Point Compare
63        GRP_FLI =   26,  // Floating-Point Miscellaneous
64        GRP_TRA =   27,  // Transfer
65        GRP_PRDML = 28,  // Pointer Register Data Movement Load
66        GRP_PRDMS = 29,  // Pointer Register Data Movement Store
67        GRP_PRAA =  30,  // Pointer Register Address Arithmetic
68        GRP_PRM =   31,  // Pointer Register Miscellaneous
69        GRP_MISC =  32,  // Miscellaneous
70        GRP_PRL =   33,  // Privileged - Register Load
71        GRP_PRS =   34,  // Privileged - Register Store
72        GRP_PCAM =  35,  // Privileged - Clear Associative Memory
73        GRP_PCS =   36,  // Privileged - Configuration and Status
74        GRP_PSC =   37,  // Privileged - System Control
75        GRP_PM =    38,  // Privileged - Miscellaneous
76        GRP_EARL =  39,  // EIS - Address Register Load
77        GRP_EARS =  40,  // EIS - Address Register Store
78        GRP_EARSA = 41,  // EIS - Address Register Special Arithmetic
79        GRP_EANC =  42,  // EIS - Alphanumeric Compare
80        GRP_EANM =  43,  // EIS - Alphanumeric Move
81        GRP_ENC =   44,  // EIS - Numeric Compare
82        GRP_ENM =   45,  // EIS - Numeric Move
83        GRP_EBCN =  46,  // EIS - Bit String Combine
84        GRP_EBCR =  47,  // EIS - Bit String Compare
85        GRP_EBSI =  48,  // EIS - Bit String Set Indicators
86        GRP_EDC =   49,  // EIS - Data Conversion
87        GRP_EDA =   50,  // EIS - Decimal Addition
88        GRP_EDS =   51,  // EIS - Decimal Subtration
89        GRP_EDM =   52,  // EIS - Decimal Multiplication
90        GRP_EDD =   53,  // EIS - Decimal Divison
91 };
92 #endif
93