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