Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. /* headids.c */
  2. /*****************************************************************************/
  3. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  4. /*                                                                           */
  5. /* Makroassembler AS                                                         */
  6. /*                                                                           */
  7. /* Hier sind alle Prozessor-IDs mit ihren Eigenschaften gesammelt            */
  8. /*                                                                           */
  9. /*****************************************************************************/
  10.  
  11. #include "stdinc.h"
  12.  
  13. #include <string.h>
  14.  
  15. #include "headids.h"
  16.  
  17. /*---------------------------------------------------------------------------*/
  18.  
  19. static const TFamilyDescr Descrs[] =
  20. {
  21.   { "680x0"        , 0x0001, eHexFormatMotoS   },
  22.   { "DSP56000"     , 0x0009, eHexFormatMotoS   },
  23.   { "MPC601"       , 0x0005, eHexFormatMotoS   },
  24.   { "PALM"         , 0x000e, eHexFormatIntel   },
  25.   { "M-CORE"       , 0x0003, eHexFormatMotoS   },
  26.   { "XGATE"        , 0x0004, eHexFormatMotoS   },
  27.   { "68xx"         , 0x0061, eHexFormatMotoS   },
  28.   { "6805/HC08"    , 0x0062, eHexFormatMotoS   },
  29.   { "6809"         , 0x0063, eHexFormatMotoS   },
  30.   { "68HC12"       , 0x0066, eHexFormatMotoS   },
  31.   { "S12Z"         , 0x0045, eHexFormatMotoS   },
  32.   { "68HC16"       , 0x0065, eHexFormatMotoS   },
  33.   { "68RS08"       , 0x005e, eHexFormatMotoS   },
  34.   { "052001"       , 0x0022, eHexFormatMotoS   },
  35.   { "H8/300(H}"    , 0x0068, eHexFormatMotoS   },
  36.   { "H8/500"       , 0x0069, eHexFormatMotoS   },
  37.   { "H16"          , 0x0040, eHexFormatMotoS   },
  38.   { "SH7x00"       , 0x006c, eHexFormatMotoS   },
  39.   { "HMCS400"      , 0x0050, eHexFormatMotoS   },
  40.   { "PPS-4"        , 0x0010, eHexFormatIntel   },
  41.   { "65xx"         , 0x0011, eHexFormatMOS     },
  42.   { "MELPS-7700"   , 0x0019, eHexFormatMOS     },
  43.   { "MELPS-4500"   , 0x0012, eHexFormatIntel   },
  44.   { "M16"          , 0x0013, eHexFormatIntel32 },
  45.   { "M16C"         , 0x0014, eHexFormatIntel   },
  46.   { "MCS-48"       , 0x0021, eHexFormatIntel   },
  47.   { "MCS-(2)51"    , 0x0031, eHexFormatIntel   },
  48.   { "MCS-96/196"   , 0x0039, eHexFormatIntel   },
  49.   { "PDP-11"       , 0x0023, eHexFormatMotoS   },
  50.   { "WD16"         , 0x0024, eHexFormatMotoS   },
  51.   { "VAX"          , 0x0026, eHexFormatMotoS   },
  52.   { "4004/4040"    , 0x003f, eHexFormatIntel   },
  53.   { "8008"         , 0x003e, eHexFormatIntel   },
  54.   { "8080/8085"    , 0x0041, eHexFormatIntel   },
  55.   { "8086"         , 0x0042, eHexFormatIntel16 },
  56.   { "i960"         , 0x002a, eHexFormatIntel32 },
  57.   { "8X30x"        , 0x003a, eHexFormatIntel   },
  58.   { "2650"         , 0x0037, eHexFormatMotoS   },
  59.   { "XA"           , 0x003c, eHexFormatIntel16 },
  60.   { "AVR"          , 0x003b, eHexFormatAtmel   },
  61.   { "AVR(CSEG8)"   , 0x003d, eHexFormatAtmel   },
  62.   { "29xxx"        , 0x0029, eHexFormatIntel32 },
  63.   { "80C166/167"   , 0x004c, eHexFormatIntel16 },
  64.   { "Zx80"         , 0x0051, eHexFormatIntel   },
  65.   { "Z8"           , 0x0079, eHexFormatIntel   },
  66.   { "Super8"       , 0x0035, eHexFormatIntel   },
  67.   { "eZ8"          , 0x0059, eHexFormatIntel   },
  68.   { "Z8000"        , 0x0034, eHexFormatIntel   },
  69.   { "KCPSM"        , 0x006b, eHexFormatIntel   },
  70.   { "KCPSM3"       , 0x005b, eHexFormatIntel   },
  71.   { "Mico8"        , 0x005c, eHexFormatIntel   },
  72.   { "TLCS-900"     , 0x0052, eHexFormatMotoS   },
  73.   { "TLCS-90"      , 0x0053, eHexFormatIntel   },
  74.   { "TLCS-870"     , 0x0054, eHexFormatIntel   },
  75.   { "TLCS-870/C"   , 0x0057, eHexFormatIntel   },
  76.   { "TLCS-47xx"    , 0x0055, eHexFormatIntel   },
  77.   { "TLCS-9000 "   , 0x0056, eHexFormatMotoS   },
  78.   { "TC9331"       , 0x005a, eHexFormatIntel   },
  79.   { "16C8x"        , 0x0070, eHexFormatIntel   },
  80.   { "16C5x"        , 0x0071, eHexFormatIntel   },
  81.   { "17C4x"        , 0x0072, eHexFormatIntel   },
  82.   { "ST6"          , 0x0078, eHexFormatIntel   },
  83.   { "ST7"          , 0x0033, eHexFormatIntel   },
  84.   { "ST9"          , 0x0032, eHexFormatIntel   },
  85.   { "6804"         , 0x0064, eHexFormatMotoS   },
  86.   { "TMS3201x"     , 0x0074, eHexFormatTiDSK   },
  87.   { "TMS3202x"     , 0x0075, eHexFormatTiDSK   },
  88.   { "TMS320C3x/C4x", 0x0076, eHexFormatIntel32 },
  89.   { "TMS320C5x"    , 0x0077, eHexFormatTiDSK   },
  90.   { "TMS320C54x"   , 0x004b, eHexFormatTiDSK   },
  91.   { "TMS320C6x"    , 0x0047, eHexFormatIntel32 },
  92.   { "TMS9900"      , 0x0048, eHexFormatIntel   },
  93.   { "TMS7000"      , 0x0073, eHexFormatIntel   },
  94.   { "TMS370xx"     , 0x0049, eHexFormatIntel   },
  95.   { "MSP430"       , 0x004a, eHexFormatIntel   },
  96.   { "TMS1000"      , 0x0007, eHexFormatIntel   },
  97.   { "IMP-16"       , 0x0017, eHexFormatIntel   },
  98.   { "IPC-16"       , 0x0018, eHexFormatIntel   },
  99.   { "SC/MP"        , 0x006e, eHexFormatIntel   },
  100.   { "807x"         , 0x006a, eHexFormatIntel   },
  101.   { "COP4"         , 0x005f, eHexFormatIntel   },
  102.   { "COP8"         , 0x006f, eHexFormatIntel   },
  103.   { "SC14XXX"      , 0x006d, eHexFormatIntel   },
  104.   { "NS32000"      , 0x0008, eHexFormatIntel   },
  105.   { "ACE"          , 0x0067, eHexFormatIntel   },
  106.   { "CP-3F"        , 0x000f, eHexFormatIntel   },
  107.   { "F8"           , 0x0044, eHexFormatIntel   },
  108.   { "75xx"         , 0x005d, eHexFormatIntel   },
  109.   { "78(C)xx"      , 0x007a, eHexFormatIntel   },
  110.   { "75K0"         , 0x007b, eHexFormatIntel   },
  111.   { "78K0"         , 0x007c, eHexFormatIntel   },
  112.   { "78K2"         , 0x0060, eHexFormatIntel16 },
  113.   { "78K3"         , 0x0058, eHexFormatIntel   },
  114.   { "78K4"         , 0x0046, eHexFormatIntel16 },
  115.   { "7720"         , 0x007d, eHexFormatIntel   },
  116.   { "7725"         , 0x007e, eHexFormatIntel   },
  117.   { "77230"        , 0x007f, eHexFormatIntel   },
  118.   { "V60"          , 0x000d, eHexFormatIntel32 },
  119.   { "SYM53C8xx"    , 0x0025, eHexFormatIntel   },
  120.   { "F2MC8"        , 0x0015, eHexFormatIntel   },
  121.   { "F2MC16"       , 0x0016, eHexFormatIntel   },
  122.   { "MN161x"       , 0x0036, eHexFormatIntel   },
  123.   { "OLMS-40"      , 0x004e, eHexFormatIntel   },
  124.   { "OLMS-50"      , 0x004d, eHexFormatIntel   },
  125.   { "1802"         , 0x0038, eHexFormatIntel   },
  126.   { "SX20"         , 0x0043, eHexFormatIntel   },
  127.   { "KENBAK"       , 0x0027, eHexFormatIntel   },
  128.   { "ATARI_VECTOR" , 0x0002, eHexFormatIntel   },
  129.   { "XCore"        , 0x0006, eHexFormatMotoS   },
  130.   { "PDK13"        , 0x001a, eHexFormatIntel   },
  131.   { "PDK14"        , 0x001b, eHexFormatIntel   },
  132.   { "PDK15"        , 0x001c, eHexFormatIntel   },
  133.   { "PDK16"        , 0x001d, eHexFormatIntel   },
  134.   { "1750"         , 0x004f, eHexFormatIntel   },
  135.   { "CP1600"       , 0x000a, eHexFormatIntel   },
  136.   { "NANO"         , 0x000b, eHexFormatIntel   },
  137.   { "IM6100"       , 0x000c, eHexFormatIntel   },
  138.   { "RX"           , 0x001e, eHexFormatIntel32 },
  139.   { "SC61860"      , 0x001f, eHexFormatMotoS   },
  140.   { "SC62015"      , 0x0020, eHexFormatMotoS   },
  141.   { NULL           , 0xffff, eHexFormatDefault }
  142. };
  143.  
  144. /*---------------------------------------------------------------------------*/
  145.  
  146. const TFamilyDescr *FindFamilyByName(const char *Name)
  147. {
  148.   const TFamilyDescr *pRun;
  149.  
  150.   for (pRun = Descrs; pRun->Name != NULL; pRun++)
  151.     if (!strcmp(Name, pRun->Name))
  152.       return pRun;
  153.  
  154.   return NULL;
  155. }
  156.  
  157. const TFamilyDescr *FindFamilyById(Word Id)
  158. {
  159.   const TFamilyDescr *pRun;
  160.  
  161.   for (pRun = Descrs; pRun->Name != NULL; pRun++)
  162.     if (Id == pRun->Id)
  163.       return pRun;
  164.  
  165.   return NULL;
  166. }
  167.  
  168. /*---------------------------------------------------------------------------*/
  169.  
  170. void headids_init(void)
  171. {
  172. }
  173.