ghidra/Ghidra/Processors/8051/data/languages/8051.pspec

413 lines
18 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<processor_spec>
<programcounter register="PC"/>
<volatile outputop="write_volatile" inputop="read_volatile">
<range space="SFR" first="0x0" last="0xFF"/>
</volatile>
<default_symbols>
<symbol name="BANK0_R0" address="INTMEM:00"/>
<symbol name="BANK0_R1" address="INTMEM:01"/>
<symbol name="BANK0_R2" address="INTMEM:02"/>
<symbol name="BANK0_R3" address="INTMEM:03"/>
<symbol name="BANK0_R4" address="INTMEM:04"/>
<symbol name="BANK0_R5" address="INTMEM:05"/>
<symbol name="BANK0_R6" address="INTMEM:06"/>
<symbol name="BANK0_R7" address="INTMEM:07"/>
<symbol name="BANK1_R0" address="INTMEM:08"/>
<symbol name="BANK1_R1" address="INTMEM:09"/>
<symbol name="BANK1_R2" address="INTMEM:0a"/>
<symbol name="BANK1_R3" address="INTMEM:0b"/>
<symbol name="BANK1_R4" address="INTMEM:0c"/>
<symbol name="BANK1_R5" address="INTMEM:0d"/>
<symbol name="BANK1_R6" address="INTMEM:0e"/>
<symbol name="BANK1_R7" address="INTMEM:0f"/>
<symbol name="BANK2_R0" address="INTMEM:10"/>
<symbol name="BANK2_R1" address="INTMEM:11"/>
<symbol name="BANK2_R2" address="INTMEM:12"/>
<symbol name="BANK2_R3" address="INTMEM:13"/>
<symbol name="BANK2_R4" address="INTMEM:14"/>
<symbol name="BANK2_R5" address="INTMEM:15"/>
<symbol name="BANK2_R6" address="INTMEM:16"/>
<symbol name="BANK2_R7" address="INTMEM:17"/>
<symbol name="BANK3_R0" address="INTMEM:18"/>
<symbol name="BANK3_R1" address="INTMEM:19"/>
<symbol name="BANK3_R2" address="INTMEM:1a"/>
<symbol name="BANK3_R3" address="INTMEM:1b"/>
<symbol name="BANK3_R4" address="INTMEM:1c"/>
<symbol name="BANK3_R5" address="INTMEM:1d"/>
<symbol name="BANK3_R6" address="INTMEM:1e"/>
<symbol name="BANK3_R7" address="INTMEM:1f"/>
<symbol name="P0" address="SFR:80"/>
<symbol name="SP" address="SFR:81"/>
<symbol name="DPL" address="SFR:82"/>
<symbol name="DPH" address="SFR:83"/>
<symbol name="DPXL" address="SFR:84"/>
<symbol name="PCON" address="SFR:87"/>
<symbol name="TCON" address="SFR:88"/>
<symbol name="TMOD" address="SFR:89"/>
<symbol name="TL0" address="SFR:8a"/>
<symbol name="TL1" address="SFR:8b"/>
<symbol name="TH0" address="SFR:8c"/>
<symbol name="TH1" address="SFR:8d"/>
<symbol name="FADDR" address="SFR:8f"/>
<symbol name="P1" address="SFR:90"/>
<symbol name="DPX" address="SFR:93"/>
<symbol name="HADDR" address="SFR:97"/>
<symbol name="SCON" address="SFR:98"/>
<symbol name="SBUF" address="SFR:99"/>
<symbol name="P2" address="SFR:a0"/>
<symbol name="HIE" address="SFR:a1"/>
<symbol name="FIE" address="SFR:a2"/>
<symbol name="FIE1" address="SFR:a3"/>
<symbol name="WDTRST" address="SFR:a6"/>
<symbol name="WCON" address="SFR:a7"/>
<symbol name="IE" address="SFR:a8"/>
<symbol name="SADDR" address="SFR:a9"/>
<symbol name="HSTAT" address="SFR:ae"/>
<symbol name="P3" address="SFR:b0"/>
<symbol name="IEN1" address="SFR:b1"/>
<symbol name="IPL1" address="SFR:b2"/>
<symbol name="IPH1" address="SFR:b3"/>
<symbol name="IPH0" address="SFR:b7"/>
<symbol name="IP" address="SFR:b8"/>
<symbol name="SADEN" address="SFR:b9"/>
<symbol name="SPH" address="SFR:be"/>
<symbol name="FIFLG" address="SFR:c0"/>
<symbol name="FIFLG1" address="SFR:c1"/>
<symbol name="EPCONFIG" address="SFR:c7"/>
<symbol name="T2CON" address="SFR:c8"/>
<symbol name="T2MOD" address="SFR:c9"/>
<symbol name="RCAP2L" address="SFR:ca"/>
<symbol name="RCAP2H" address="SFR:cb"/>
<symbol name="TL2" address="SFR:cc"/>
<symbol name="TH2" address="SFR:cd"/>
<symbol name="HPCON" address="SFR:cf"/>
<symbol name="PSW" address="SFR:d0"/>
<symbol name="PSW1" address="SFR:d1"/>
<symbol name="SOFL" address="SFR:d2"/>
<symbol name="HPINDEX" address="SFR:d4"/>
<symbol name="HPSC" address="SFR:d5"/>
<symbol name="HPSTAT" address="SFR:d7"/>
<symbol name="CCON" address="SFR:d8"/>
<symbol name="CMOD" address="SFR:d9"/>
<symbol name="CCAPM0" address="SFR:da"/>
<symbol name="CCAPM1" address="SFR:db"/>
<symbol name="CCAPM2" address="SFR:dc"/>
<symbol name="CCAPM3" address="SFR:dd"/>
<symbol name="CCAPM4" address="SFR:de"/>
<symbol name="PCON1" address="SFR:df"/>
<symbol name="ACC" address="SFR:e0"/>
<symbol name="EPCON" address="SFR:e1"/>
<symbol name="RXSTAT" address="SFR:e2"/>
<symbol name="RXDAT" address="SFR:e3"/>
<symbol name="RXCON" address="SFR:e4"/>
<symbol name="RXFLG" address="SFR:e5"/>
<symbol name="RXCNTL" address="SFR:e6"/>
<symbol name="RXCNTH" address="SFR:e7"/>
<symbol name="HIFLG" address="SFR:e8"/>
<symbol name="CL" address="SFR:e9"/>
<symbol name="CCAP0L" address="SFR:ea"/>
<symbol name="CCAP1L" address="SFR:eb"/>
<symbol name="CCAP2L" address="SFR:ec"/>
<symbol name="CCAP3L" address="SFR:ed"/>
<symbol name="CCAP4L" address="SFR:ee"/>
<symbol name="B" address="SFR:f0"/>
<symbol name="EPINDEX" address="SFR:f1"/>
<symbol name="TXSTAT" address="SFR:f2"/>
<symbol name="TXDAT" address="SFR:f3"/>
<symbol name="TXCON" address="SFR:f4"/>
<symbol name="TXFLG" address="SFR:f5"/>
<symbol name="TXCNTL" address="SFR:f6"/>
<symbol name="TXCNTH" address="SFR:f7"/>
<symbol name="CH" address="SFR:f9"/>
<symbol name="CCAP0H" address="SFR:fa"/>
<symbol name="CCAP1H" address="SFR:fb"/>
<symbol name="CCAP2H" address="SFR:fc"/>
<symbol name="CCAP3H" address="SFR:fd"/>
<symbol name="CCAP4H" address="SFR:fe"/>
<symbol name="20.0" address="BITS:00"/>
<symbol name="20.1" address="BITS:01"/>
<symbol name="20.2" address="BITS:02"/>
<symbol name="20.3" address="BITS:03"/>
<symbol name="20.4" address="BITS:04"/>
<symbol name="20.5" address="BITS:05"/>
<symbol name="20.6" address="BITS:06"/>
<symbol name="20.7" address="BITS:07"/>
<symbol name="21.0" address="BITS:08"/>
<symbol name="21.1" address="BITS:09"/>
<symbol name="21.2" address="BITS:0a"/>
<symbol name="21.3" address="BITS:0b"/>
<symbol name="21.4" address="BITS:0c"/>
<symbol name="21.5" address="BITS:0d"/>
<symbol name="21.6" address="BITS:0e"/>
<symbol name="21.7" address="BITS:0f"/>
<symbol name="22.0" address="BITS:10"/>
<symbol name="22.1" address="BITS:11"/>
<symbol name="22.2" address="BITS:12"/>
<symbol name="22.3" address="BITS:13"/>
<symbol name="22.4" address="BITS:14"/>
<symbol name="22.5" address="BITS:15"/>
<symbol name="22.6" address="BITS:16"/>
<symbol name="22.7" address="BITS:17"/>
<symbol name="23.0" address="BITS:18"/>
<symbol name="23.1" address="BITS:19"/>
<symbol name="23.2" address="BITS:1a"/>
<symbol name="23.3" address="BITS:1b"/>
<symbol name="23.4" address="BITS:1c"/>
<symbol name="23.5" address="BITS:1d"/>
<symbol name="23.6" address="BITS:1e"/>
<symbol name="23.7" address="BITS:1f"/>
<symbol name="24.0" address="BITS:20"/>
<symbol name="24.1" address="BITS:21"/>
<symbol name="24.2" address="BITS:22"/>
<symbol name="24.3" address="BITS:23"/>
<symbol name="24.4" address="BITS:24"/>
<symbol name="24.5" address="BITS:25"/>
<symbol name="24.6" address="BITS:26"/>
<symbol name="24.7" address="BITS:27"/>
<symbol name="25.0" address="BITS:28"/>
<symbol name="25.1" address="BITS:29"/>
<symbol name="25.2" address="BITS:2a"/>
<symbol name="25.3" address="BITS:2b"/>
<symbol name="25.4" address="BITS:2c"/>
<symbol name="25.5" address="BITS:2d"/>
<symbol name="25.6" address="BITS:2e"/>
<symbol name="25.7" address="BITS:2f"/>
<symbol name="26.0" address="BITS:30"/>
<symbol name="26.1" address="BITS:31"/>
<symbol name="26.2" address="BITS:32"/>
<symbol name="26.3" address="BITS:33"/>
<symbol name="26.4" address="BITS:34"/>
<symbol name="26.5" address="BITS:35"/>
<symbol name="26.6" address="BITS:36"/>
<symbol name="26.7" address="BITS:37"/>
<symbol name="27.0" address="BITS:38"/>
<symbol name="27.1" address="BITS:39"/>
<symbol name="27.2" address="BITS:3a"/>
<symbol name="27.3" address="BITS:3b"/>
<symbol name="27.4" address="BITS:3c"/>
<symbol name="27.5" address="BITS:3d"/>
<symbol name="27.6" address="BITS:3e"/>
<symbol name="27.7" address="BITS:3f"/>
<symbol name="28.0" address="BITS:40"/>
<symbol name="28.1" address="BITS:41"/>
<symbol name="28.2" address="BITS:42"/>
<symbol name="28.3" address="BITS:43"/>
<symbol name="28.4" address="BITS:44"/>
<symbol name="28.5" address="BITS:45"/>
<symbol name="28.6" address="BITS:46"/>
<symbol name="28.7" address="BITS:47"/>
<symbol name="29.0" address="BITS:48"/>
<symbol name="29.1" address="BITS:49"/>
<symbol name="29.2" address="BITS:4a"/>
<symbol name="29.3" address="BITS:4b"/>
<symbol name="29.4" address="BITS:4c"/>
<symbol name="29.5" address="BITS:4d"/>
<symbol name="29.6" address="BITS:4e"/>
<symbol name="29.7" address="BITS:4f"/>
<symbol name="2a.0" address="BITS:50"/>
<symbol name="2a.1" address="BITS:51"/>
<symbol name="2a.2" address="BITS:52"/>
<symbol name="2a.3" address="BITS:53"/>
<symbol name="2a.4" address="BITS:54"/>
<symbol name="2a.5" address="BITS:55"/>
<symbol name="2a.6" address="BITS:56"/>
<symbol name="2a.7" address="BITS:57"/>
<symbol name="2b.0" address="BITS:58"/>
<symbol name="2b.1" address="BITS:59"/>
<symbol name="2b.2" address="BITS:5a"/>
<symbol name="2b.3" address="BITS:5b"/>
<symbol name="2b.4" address="BITS:5c"/>
<symbol name="2b.5" address="BITS:5d"/>
<symbol name="2b.6" address="BITS:5e"/>
<symbol name="2b.7" address="BITS:5f"/>
<symbol name="2c.0" address="BITS:60"/>
<symbol name="2c.1" address="BITS:61"/>
<symbol name="2c.2" address="BITS:62"/>
<symbol name="2c.3" address="BITS:63"/>
<symbol name="2c.4" address="BITS:64"/>
<symbol name="2c.5" address="BITS:65"/>
<symbol name="2c.6" address="BITS:66"/>
<symbol name="2c.7" address="BITS:67"/>
<symbol name="2d.0" address="BITS:68"/>
<symbol name="2d.1" address="BITS:69"/>
<symbol name="2d.2" address="BITS:6a"/>
<symbol name="2d.3" address="BITS:6b"/>
<symbol name="2d.4" address="BITS:6c"/>
<symbol name="2d.5" address="BITS:6d"/>
<symbol name="2d.6" address="BITS:6e"/>
<symbol name="2d.7" address="BITS:6f"/>
<symbol name="2e.0" address="BITS:70"/>
<symbol name="2e.1" address="BITS:71"/>
<symbol name="2e.2" address="BITS:72"/>
<symbol name="2e.3" address="BITS:73"/>
<symbol name="2e.4" address="BITS:74"/>
<symbol name="2e.5" address="BITS:75"/>
<symbol name="2e.6" address="BITS:76"/>
<symbol name="2e.7" address="BITS:77"/>
<symbol name="2f.0" address="BITS:78"/>
<symbol name="2f.1" address="BITS:79"/>
<symbol name="2f.2" address="BITS:7a"/>
<symbol name="2f.3" address="BITS:7b"/>
<symbol name="2f.4" address="BITS:7c"/>
<symbol name="2f.5" address="BITS:7d"/>
<symbol name="2f.6" address="BITS:7e"/>
<symbol name="2f.7" address="BITS:7f"/>
<symbol name="P0.0" address="BITS:80"/>
<symbol name="P0.1" address="BITS:81"/>
<symbol name="P0.2" address="BITS:82"/>
<symbol name="P0.3" address="BITS:83"/>
<symbol name="P0.4" address="BITS:84"/>
<symbol name="P0.5" address="BITS:85"/>
<symbol name="P0.6" address="BITS:86"/>
<symbol name="P0.7" address="BITS:87"/>
<symbol name="IT0" address="BITS:88"/>
<symbol name="IE0" address="BITS:89"/>
<symbol name="IT1" address="BITS:8a"/>
<symbol name="IE1" address="BITS:8b"/>
<symbol name="TR0" address="BITS:8c"/>
<symbol name="TF0" address="BITS:8d"/>
<symbol name="TR1" address="BITS:8e"/>
<symbol name="TF1" address="BITS:8f"/>
<symbol name="P1.0" address="BITS:90"/>
<symbol name="P1.1" address="BITS:91"/>
<symbol name="P1.2" address="BITS:92"/>
<symbol name="P1.3" address="BITS:93"/>
<symbol name="P1.4" address="BITS:94"/>
<symbol name="P1.5" address="BITS:95"/>
<symbol name="P1.6" address="BITS:96"/>
<symbol name="P1.7" address="BITS:97"/>
<symbol name="RI" address="BITS:98"/>
<symbol name="TI" address="BITS:99"/>
<symbol name="RB8" address="BITS:9a"/>
<symbol name="TB8" address="BITS:9b"/>
<symbol name="REN" address="BITS:9c"/>
<symbol name="SM2" address="BITS:9d"/>
<symbol name="SM1" address="BITS:9e"/>
<symbol name="SM0" address="BITS:9f"/>
<symbol name="P2.0" address="BITS:a0"/>
<symbol name="P2.1" address="BITS:a1"/>
<symbol name="P2.2" address="BITS:a2"/>
<symbol name="P2.3" address="BITS:a3"/>
<symbol name="P2.4" address="BITS:a4"/>
<symbol name="P2.5" address="BITS:a5"/>
<symbol name="P2.6" address="BITS:a6"/>
<symbol name="P2.7" address="BITS:a7"/>
<symbol name="EX0" address="BITS:a8"/>
<symbol name="ET0" address="BITS:a9"/>
<symbol name="EX1" address="BITS:aa"/>
<symbol name="ET1" address="BITS:ab"/>
<symbol name="ES" address="BITS:ac"/>
<symbol name="ET2" address="BITS:ad"/>
<symbol name="EC" address="BITS:ae"/>
<symbol name="EA" address="BITS:af"/>
<symbol name="RXD" address="BITS:b0"/>
<symbol name="TXD" address="BITS:b1"/>
<symbol name="INT0" address="BITS:b2"/>
<symbol name="INT1" address="BITS:b3"/>
<symbol name="T0" address="BITS:b4"/>
<symbol name="T1" address="BITS:b5"/>
<symbol name="WR" address="BITS:b6"/>
<symbol name="RD" address="BITS:b7"/>
<symbol name="PX0" address="BITS:b8"/>
<symbol name="PT0" address="BITS:b9"/>
<symbol name="PX1" address="BITS:ba"/>
<symbol name="PT1" address="BITS:bb"/>
<symbol name="PS" address="BITS:bc"/>
<symbol name="PT2" address="BITS:bd"/>
<symbol name="PC" address="BITS:be"/>
<symbol name="IP.7" address="BITS:bf"/>
<symbol name="FIFLG.0" address="BITS:c0"/>
<symbol name="FIFLG.1" address="BITS:c1"/>
<symbol name="FIFLG.2" address="BITS:c2"/>
<symbol name="FIFLG.3" address="BITS:c3"/>
<symbol name="FIFLG.4" address="BITS:c4"/>
<symbol name="FIFLG.5" address="BITS:c5"/>
<symbol name="FIFLG.6" address="BITS:c6"/>
<symbol name="FIFLG.7" address="BITS:c7"/>
<symbol name="CPRL2" address="BITS:c8"/>
<symbol name="CT2" address="BITS:c9"/>
<symbol name="TR2" address="BITS:ca"/>
<symbol name="EXEN2" address="BITS:cb"/>
<symbol name="TCLK" address="BITS:cc"/>
<symbol name="RCLK" address="BITS:cd"/>
<symbol name="EXF2" address="BITS:ce"/>
<symbol name="TF2" address="BITS:cf"/>
<symbol name="P" address="BITS:d0"/>
<symbol name="UD" address="BITS:d1"/>
<symbol name="OV" address="BITS:d2"/>
<symbol name="RS0" address="BITS:d3"/>
<symbol name="RS1" address="BITS:d4"/>
<symbol name="F0" address="BITS:d5"/>
<symbol name="AC" address="BITS:d6"/>
<symbol name="C" address="BITS:d7"/>
<symbol name="CCF.0" address="BITS:d8"/>
<symbol name="CCF.1" address="BITS:d9"/>
<symbol name="CCF.2" address="BITS:da"/>
<symbol name="CCF.3" address="BITS:db"/>
<symbol name="CCF.4" address="BITS:dc"/>
<symbol name="CCON.5" address="BITS:dd"/>
<symbol name="CR" address="BITS:de"/>
<symbol name="CF" address="BITS:df"/>
<symbol name="ACC.0" address="BITS:e0"/>
<symbol name="ACC.1" address="BITS:e1"/>
<symbol name="ACC.2" address="BITS:e2"/>
<symbol name="ACC.3" address="BITS:e3"/>
<symbol name="ACC.4" address="BITS:e4"/>
<symbol name="ACC.5" address="BITS:e5"/>
<symbol name="ACC.6" address="BITS:e6"/>
<symbol name="ACC.7" address="BITS:e7"/>
<symbol name="HIFLG.0" address="BITS:e8"/>
<symbol name="HIFLG.1" address="BITS:e9"/>
<symbol name="HIFLG.2" address="BITS:ea"/>
<symbol name="HIFLG.3" address="BITS:eb"/>
<symbol name="HIFLG.4" address="BITS:ec"/>
<symbol name="HIFLG.5" address="BITS:ed"/>
<symbol name="HIFLG.6" address="BITS:ee"/>
<symbol name="HIFLG.7" address="BITS:ef"/>
<symbol name="B.0" address="BITS:f0"/>
<symbol name="B.1" address="BITS:f1"/>
<symbol name="B.2" address="BITS:f2"/>
<symbol name="B.3" address="BITS:f3"/>
<symbol name="B.4" address="BITS:f4"/>
<symbol name="B.5" address="BITS:f5"/>
<symbol name="B.6" address="BITS:f6"/>
<symbol name="B.7" address="BITS:f7"/>
<symbol name="F8.0" address="BITS:f8"/>
<symbol name="F8.1" address="BITS:f9"/>
<symbol name="F8.2" address="BITS:fa"/>
<symbol name="F8.3" address="BITS:fb"/>
<symbol name="F8.4" address="BITS:fc"/>
<symbol name="F8.5" address="BITS:fd"/>
<symbol name="F8.6" address="BITS:fe"/>
<symbol name="F8.7" address="BITS:ff"/>
</default_symbols>
<default_memory_blocks>
<memory_block name="REG_BANK_1" start_address="INTMEM:0" length="0x8" initialized="false"/>
<memory_block name="REG_BANK_2" start_address="INTMEM:8" length="0x8" initialized="false"/>
<memory_block name="REG_BANK_3" start_address="INTMEM:10" length="0x8" initialized="false"/>
<memory_block name="REG_BANK_4" start_address="INTMEM:18" length="0x8" initialized="false"/>
<memory_block name="INTMEM" start_address="INTMEM:20" length="0xe0" initialized="false"/>
<memory_block name="BITS" start_address="BITS:00" bit_mapped_address="INTMEM:20" length="0x80"/>
<memory_block name="SFR" start_address="SFR:80" length="0x80" initialized="false"/>
<!-- BUG: SFR-BITS do not map properly since only every 8th SFR register is mapped (e.g., 0x80, 0x88, 0x90 ... 0xF0, 0xF8) -->
<memory_block name="SFR-BITS" start_address="BITS:80" bit_mapped_address="SFR:80" length="0x80"/>
</default_memory_blocks>
</processor_spec>