<!DOCTYPE SimulIDE>

<mcu name="p16F874" core="Pic14" data="512" prog="4096" progword="2" eeprom="128"
            inst_cycle="4">
            
    <include file="pic/pic14_regs.xml" />
    <include file="p16F87x/p16F87x_regs.xml" />

        <!-- BANK 0 -->
        <regblock name="SFR0" start="0x0008" end="0x0009" >
            <register name="PORTD"   addr="0x08" />
            <register name="PORTE"   addr="0x09" mask="00000111"/>
        </regblock>
        <!-- BANK 1 -->
        <regblock name="SFR0" start="0x0088" end="0x0089" >
            <register name="TRISD"   addr="0x88" reset="11111111"/>
            <register name="TRISE"   addr="0x89" reset="00000111" mask="00000111"/>
        </regblock>
        <datablock name="GPR1" start="0x00A0" end="0x00FF"/>
        <!-- BANK 2 -->
        <datablock name="RAM2" start="0x0120" end="0x017F" mapto="0x0020"/>
        <!-- BANK 3 -->
        <datablock name="RAM3" start="0x01A0" end="0x01FF" mapto="0x00A0"/>

    <include file="p16F87x/p16F87x_int.xml" />
    <include file="p16F87x/p16F87x_perif.xml" />

        <port name="PORTD" pins="8" outreg="PORTD" dirreg="!TRISD">
        </port>
        <port name="PORTE" pins="3" outreg="PORTE" dirreg="!TRISE">
        </port>
        <adc name="ADC" type="00" bits="10" configregsA="ADCON0" configregsB="ADCON1"
                        dataregs="ADRESL,ADRESH"
                        interrupt="ADC"
                        prescalers="2,8,32"
                        adcpins="PORTA0,PORTA1,PORTA2,PORTA3,PORTA5,PORTE0,PORTE1,PORTE2"
                        vrefpins="PORTA3,PORTA2"/>
</mcu>
