Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1186 | savelij | 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 | { "uCOM-43" , 0x0028, eHexFormatIntel }, |
||
| 120 | { "SYM53C8xx" , 0x0025, eHexFormatIntel }, |
||
| 121 | { "F2MC8" , 0x0015, eHexFormatIntel }, |
||
| 122 | { "F2MC16" , 0x0016, eHexFormatIntel }, |
||
| 123 | { "MN161x" , 0x0036, eHexFormatIntel }, |
||
| 124 | { "OLMS-40" , 0x004e, eHexFormatIntel }, |
||
| 125 | { "OLMS-50" , 0x004d, eHexFormatIntel }, |
||
| 126 | { "1802" , 0x0038, eHexFormatIntel }, |
||
| 127 | { "SX20" , 0x0043, eHexFormatIntel }, |
||
| 128 | { "KENBAK" , 0x0027, eHexFormatIntel }, |
||
| 129 | { "ATARI_VECTOR" , 0x0002, eHexFormatIntel }, |
||
| 130 | { "XCore" , 0x0006, eHexFormatMotoS }, |
||
| 131 | { "PDK13" , 0x001a, eHexFormatIntel }, |
||
| 132 | { "PDK14" , 0x001b, eHexFormatIntel }, |
||
| 133 | { "PDK15" , 0x001c, eHexFormatIntel }, |
||
| 134 | { "PDK16" , 0x001d, eHexFormatIntel }, |
||
| 135 | { "1750" , 0x004f, eHexFormatIntel }, |
||
| 136 | { "CP1600" , 0x000a, eHexFormatIntel }, |
||
| 137 | { "NANO" , 0x000b, eHexFormatIntel }, |
||
| 138 | { "IM6100" , 0x000c, eHexFormatIntel }, |
||
| 139 | { "RX" , 0x001e, eHexFormatIntel32 }, |
||
| 140 | { "SC61860" , 0x001f, eHexFormatMotoS }, |
||
| 141 | { "SC62015" , 0x0020, eHexFormatMotoS }, |
||
| 142 | { NULL , 0xffff, eHexFormatDefault } |
||
| 143 | }; |
||
| 144 | |||
| 145 | /*---------------------------------------------------------------------------*/ |
||
| 146 | |||
| 147 | const TFamilyDescr *FindFamilyByName(const char *Name) |
||
| 148 | { |
||
| 149 | const TFamilyDescr *pRun; |
||
| 150 | |||
| 151 | for (pRun = Descrs; pRun->Name != NULL; pRun++) |
||
| 152 | if (!strcmp(Name, pRun->Name)) |
||
| 153 | return pRun; |
||
| 154 | |||
| 155 | return NULL; |
||
| 156 | } |
||
| 157 | |||
| 158 | const TFamilyDescr *FindFamilyById(Word Id) |
||
| 159 | { |
||
| 160 | const TFamilyDescr *pRun; |
||
| 161 | |||
| 162 | for (pRun = Descrs; pRun->Name != NULL; pRun++) |
||
| 163 | if (Id == pRun->Id) |
||
| 164 | return pRun; |
||
| 165 | |||
| 166 | return NULL; |
||
| 167 | } |
||
| 168 | |||
| 169 | /*---------------------------------------------------------------------------*/ |
||
| 170 | |||
| 171 | void headids_init(void) |
||
| 172 | { |
||
| 173 | } |