root/src/dps8/dps8_opcodetable.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   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) */

/* [previous][next][first][last][top][bottom][index][help] */