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

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