Blame | Last modification | View Log | Download | RSS feed
ifndef reg3048inc ; avoid multiple inclusionreg3048inc equ 1savelisting off ; no listing over this file;****************************************************************************;* *;* AS 1.42 - File REG3048.INC *;* *;* Contains SFR, Macro, and Address Definitions for H8/3048 *;* *;****************************************************************************if (MOMCPUNAME<>"HD6413309")&&(MOMCPUNAME<>"H8/300H")fatal "wrong target selected: only H8/300H supported."endifif MOMPASS=1message "H8/3048 SFR Definitions, (C) 1995 Christian Stelter"endif;-----------------------------------------------------------------------------; MCU Operating Modes: (Sec.3 p.55-68 & Sec.20 p.615-628)MDCR equ $fff1 ; CPU Operation ModeSYSCR equ $fff2 ; Standby Mode RegisterMSTCR equ $ff5e ; Module Standby Control Register; MDCR RegisterMD0 equ 0MD1 equ 1MD2 equ 2; SYSCR RegisterSSBY equ 7 ; Software StandbySTS2 equ 6 ; Standby Timer SelectSTS1 equ 5STS0 equ 4UE equ 3 ; User Bit EnableNMIEG equ 2 ; NMI EdgeRAME equ 0 ; Enable Internal RAM; MSTCR RegisterPSTOP equ 7 ; Phi Clock StopMSTOP5 equ 5 ; Module StandbyMSTOP4 equ 4MSTOP3 equ 3MSTOP2 equ 2MSTOP1 equ 1MSTOP0 equ 0;-----------------------------------------------------------------------------; Bus Controller (Sec.6 p.107-142)ABWCR equ $ffec ; Bus Width Control RegisterASTCR equ $ffed ; Access State Control RegisterWCR equ $ffee ; Wait Control RegisterWMS0 equ 2 ; ModeWMS1 equ 3WC0 equ 0 ; Number of WaitstatesWC1 equ 1WCER equ $ffef ; Wait State Controller Enable RegisterBRCR equ $fff3 ; Bus Release Control RegisterA23E equ 7 ; Address 23 EnableA22E equ 6 ; 22A21E equ 5 ; 21BRLE equ 0 ; Bus Release EnableCSCR equ $ff5f ; Chip Select Control RegisterCS7E equ 7 ; Chip Select 7 EnableCS6E equ 6CS5E equ 5CS4E equ 4;-----------------------------------------------------------------------------; Interrupt ControllerISCR equ $fff4 ; IRQ Sense Control RegisterIER equ $fff5 ; IRQ Enable RegisterISR equ $fff6 ; IRQ Status RegisterIPRA equ $fff8 ; Priority ControlIPRB equ $fff9 ;;-----------------------------------------------------------------------------; Position of Exception and Interrupt Vectoren (Sec.4 p.69-78)__defvec macro Name,NumName equ Num<<2endm__defvec Reset,0__defvec NMI,7__defvec TRAP0,8__defvec TRAP1,9__defvec TRAP2,10__defvec TRAP3,11__defvec IRQ0,12__defvec IRQ1,13__defvec IRQ2,14__defvec IRQ3,15__defvec IRQ4,16__defvec IRQ5,17__defvec WOVI,20__defvec CMI,21__defvec IMIA0,24__defvec IMIB0,25__defvec OVI0,26__defvec IMIA1,28__defvec IMIB1,29__defvec OVI1,30__defvec IMIA2,32__defvec IMIB2,33__defvec OVI2,34__defvec IMIA3,36__defvec IMIB3,37__defvec OVI3,38__defvec IMIA4,40__defvec IMIB4,41__defvec OVI4,42__defvec DEND0A,44;__defvec DEND0A,45__defvec DEND1B,46;__defvec DEND1B,47__defvec ERI0,52__defvec RXI0,53__defvec TXI0,54__defvec TEI0,55__defvec ERI1,56__defvec RXI1,57__defvec TXI1,58__defvec TEI1,59__defvec ADI,60;-----------------------------------------------------------------------------; DMA Controller (Sec.6 p.181-238)DTEA equ $fff4 ; Enable Data TransfersDTEB equ $fff5DTEC equ $fff6DTED equ $fff7__defdma macro Base,NameMAR{Name}AR equ Base ; Memory Address Register ARMAR{Name}ER equ Base+1 ; Memory Address Register AEMAR{Name}AL equ Base+2 ; Memory Address Register ALMAR{Name}AH equ Base+3 ; Memory Address Register AHETCR{Name}AH equ Base+4 ; Execute Transfer Count Register AHETCR{Name}AL equ Base+5 ; ALIOAR{Name}A equ Base+6 ; I/O Address Register ADTCR{Name}A equ Base+7 ; Data Transfer Control Register AMAR{Name}BR equ Base+8 ; Memory Address Register BRMAR{Name}BE equ Base+9 ; Memory Address Register BEMAR{Name}BH equ Base+10 ; Memory Address Register BHMAR{Name}BL equ Base+11 ; Memory Address Register BLETCR{Name}BH equ Base+12 ; Execute Transfer Count Register BHETCR{Name}BL equ Base+13 ; Execute Transfer Count Register BLIOAR{Name}B equ Base+14 ; I/O Address Register BDTCR{Name}B equ Base+15 ; Data Transfer Control Registerendm__defdma $ff20,"0"__defdma $ff30,"1"; DTCR Register; Short Address ModeDTE equ 7 ; Data Transfer EnableDTSZ equ 6 ; Data Transfer SizeDTID equ 5 ; Data Transfer Inc/DecRPE equ 4 ; Repeat EnableDTIE equ 3 ; Data Transfer Interrupt EnableDTS2 equ 2 ; Data Transfer SelectDTS1 equ 1DTS0 equ 0; Full Address ModeSAID equ 5 ; Source Address Inc/DecSAIE equ 4 ; Source Address Inc/Dec EnableDTS2A equ 2 ; Data Transfer SelectDTS1A equ 1DTS0A equ 0; DTCRB RegisterDTME equ 7 ; Data Transfer Master EnableDAID equ 5 ; Destination Address Inc/Dec BitDAIE equ 4 ; EnableTMS equ 3 ; Transfer Mode SelectDTS2B equ 2 ; Data Transfer SelectDTS1B equ 1DTS0B equ 0;-----------------------------------------------------------------------------; I/O-Ports (Sec.9 p.239-280)P1DDR equ $ffc0 ; Data Direction Port 1P1DR equ $ffc2 ; Data Port 1P2DDR equ $ffc1 ; Data Direction Port 2P2DR equ $ffc3 ; Data Port 2P2PCR equ $ffd8 ; Input Pull Up Control Register Port 3P3DDR equ $ffc4 ; Data Direction Port 3P3DR equ $ffc6 ; Data Port 3P4DDR equ $ffc5 ; Data Direction Port 4P4DR equ $ffc7 ; Data Port 4P4PCR equ $ffda ; Input Pull Up Control Register Port 4P5DDR equ $ffc8 ; Data Direction Port 5P5DR equ $ffca ; Data Port 5P5PCR equ $ffcb ; Input Pull Up Control Register Port 5P6DDR equ $ffc9 ; Data Direction Port 6P6DR equ $ffcb ; Data Port 6P8DDR equ $ffcd ; Data Direction Port 8P8DR equ $ffcf ; Data Port 8P9DDR equ $ffd0 ; Data Direction Port 9P9DR equ $ffd2 ; Data Port 9PADDR equ $ffd1 ; Data Direction Port APADR equ $ffd3 ; Data Port APBDDR equ $ffd4 ; Data Direction Port BPBDR equ $ffd6 ; Data Port B;------------------------------------------------------------------------------;Integrated Timer Unit (ITU) (Sec.10 p.281-380);commonTSTR equ $ff60 ; Timer Start RegisterTSNC equ $ff61 ; Timer Synchro RegisterTMDR equ $ff62 ; Timer Mode RegisterTFCR equ $ff63 ; Timer Function Control RegisterTOER equ $ff90 ; Timer Output Master Enable RegisterTOCR equ $ff91 ; Timer Output Control Register__deftimer macro Base,NameTCR{Name} equ Base ; Timer Control RegisterTIOR{Name} equ Base+1 ; Timer I/O Control RegisterTIER{Name} equ Base+2 ; Timer Interrupt Enable RegisterTSR{Name} equ Base+3 ; Timer Status RegisterTCNT{Name}H equ Base+4 ; Timer Counter HTCNT{Name}L equ Base+5 ; Timer Counter LGRA{Name}H equ Base+6 ; General Register A (high)GRA{Name}L equ Base+7 ; General Register A (low)GRB{Name}H equ Base+8 ; General Register B (high)GRB{Name}L equ Base+9 ; General Register B (low)endm__deftimer $ff64,"0"__deftimer $ff6e,"1"__deftimer $ff78,"2"__deftimer $ff82,"3"BRA3H equ $ff8c ; Buffer Register A3 (high)BRA3L equ $ff8d ; Buffer Register A3 (low)BRB3H equ $ff8e ; Buffer Register B3 (high)BRB3L equ $ff8f ; Buffer Register B3 (low)__deftimer $ff82,"4"BRA4H equ $ff9c ; Buffer Register A4 (high)BRA4L equ $ff9d ; Buffer Register A4 (low)BRB4H equ $ff9e ; Buffer Register B4 (high)BRB4L equ $ff9f ; Buffer Register B4 (low); TMDR RegisterMDF equ 6 ; Phase Counting Mode FlagFDIR equ 5 ; Flag DirectionPWM4 equ 4 ; PWM ModePWM3 equ 3PWM2 equ 2PWM1 equ 1PWM0 equ 0; TFCR RegisterCMD1 equ 5 ; Combination ModeCMD0 equ 4BFB4 equ 3 ; Buffer Mode B4BFA4 equ 2 ; Buffer Mode A4BFB3 equ 1 ; Buffer Mode B3BFA3 equ 0 ; Buffer Mode A3; TOER RegisterEXB4 equ 5 ; Master Enable TOCXB4EXA4 equ 4 ; Master Enable TOCXA4EB3 equ 3 ; Master Enable TIOCB3EB4 equ 2 ; Master Enable TIOCB4EA4 equ 1 ; Master Enable TIOCA4EA3 equ 0 ; Master Enable TIOCA3; TOCR RegisterXTGD equ 4 ; External trigger disableOLS4 equ 1 ; Output level select 4OLS3 equ 0 ; Output level select 3; TCR RegisterCCLR1 equ 6 ; Counter ClearCCLR0 equ 5CKEG1 equ 4 ; Counter EdgeCKEG0 equ 3TPSC2 equ 2 ; Timer PrescalerTPSC1 equ 1TPSC0 equ 0; TIOR RegisterIOB2 equ 6 ; I/O Control B2IOB1 equ 5 ; I/O Control B1IOB0 equ 4 ; I/O Control B0IOA2 equ 2 ; I/O Control A2IOA1 equ 1 ; I/O Control A1IOA0 equ 0 ; I/O Control A0; TSR-RegisterOVF equ 2 ; Overflow FlagIMFB equ 1 ; Input Capture / Compare Match Flag BIMFA equ 0 ; Input Capture / Compare Match Flag A; TIER-RegisterOVIE equ 2 ; Overflow Interrupt EnableIMIEB equ 1 ; Input Capture / Compare Match Interrupt Enable BIMIEA equ 0 ; Input Capture / Compare Match Interrupt Enable A;-----------------------------------------------------------------------------; Programmable Timing Pattern Controller (Sec.11 p.381-406)TPMR equ $ffa0 ; TPC Output Mode RegisterTPCR equ $ffa1 ; TPC Output Control RegisterNDERB equ $ffa2 ; Next Data Enable Register BNDERA equ $ffa3 ; Next Data Enable Register ANDRA equ $ffa5 ; Next Data Register ANDRB equ $ffa4 ; Next Data Register BNDRA1 equ $ffa5 ; Next Data Register A Group 1NDRA0 equ $ffa7 ; Next Data Register A Group 0NDRB3 equ $ffa4 ; Next Data Register B Group 3NDRB2 equ $ffa6 ; Next Data Register B Group 2;-----------------------------------------------------------------------------; Watchdog (Sec.12 p.407-422)WDT_TCSR equ $ffa8 ; Timer Control/Status RegisterWDT_TCNT equ $ffa9 ; Timer CounterWDT_RSTCSR equ $ffab ; Reset Control/Status RegisterWDT_RSTCSRW equ $ffaa ; ditto, for word accesses (p.415); TCSR RegisterWDT_OVF equ 7 ; Overflow FlagWDT_WTIT equ 6 ; Timer Mode SelectWDT_TME equ 5 ; Timer EnableWDT_CKS2 equ 2 ; Clock SelectWDT_CKS1 equ 1WDT_CKS0 equ 0; RSTCSR RegisterWDT_WRST equ 7 ; Watchdog Timer ResetWDT_RSTOE equ 6 ; Reset Output Enable;-----------------------------------------------------------------------------; Serial Interface (Sec.13 p.423-482)__defSCI macro Base,NameSMR{Name} equ Base ; Serial Mode RegisterBRR{Name} equ Base+1 ; Bit Rate RegisterSCR{Name} equ Base+2 ; Serial Control RegisterTDR{Name} equ Base+3 ; Transmit Data RegisterSSR{Name} equ Base+4 ; Serial Status RegisterRDR{Name} equ Base+5 ; Receive Data Registerendm__defSCI $ffb0,"0"__defSCI $ffb8,"1"; SMR RegisterCA equ 7 ; Communication ModeCHR equ 6 ; Character LengthPE equ 5 ; Parity EnableOE equ 4 ; Parity ModeSTOP equ 3 ; Stop Bit LengthMP equ 2 ; Multiprocessor ModeCKS1 equ 1 ; Clock Select 1CKS0 equ 0; SCR RegisterTIE equ 7 ; Transmit Interrupt EnableRIE equ 6 ; Receive " "TE equ 5 ; Transmit EnableRE equ 4 ; Receive EnableMPIE equ 3 ; Multiprozessor Interrupt EnableTEIE equ 2 ; Transmit-end Interrupt EnableCKE1 equ 1 ; Clock Enable 1CKE0 equ 0 ; Clock Enable 0; SSR RegisterTDRE equ 7 ; Transmit Data Register EmptyRDRF equ 6 ; Receive Data Register FullORER equ 5 ; Overrun ErrorFER equ 4 ; Framing ErrorPER equ 3 ; Parity ErrorTEND equ 2 ; Transmit EndMPB equ 1 ; Multiprocessor BitMPBT equ 0 ; Multiprocessor Bit Transfer;-----------------------------------------------------------------------------; Smart Card Interface; not implemented yet;-----------------------------------------------------------------------------; A/D Converter (Sec.15 p.505-526)ADDRA equ $ffe0ADDRAH equ $ffe0ADDRAL equ $ffe1ADDRB equ $ffe2ADDRBH equ $ffe2ADDRBL equ $ffe3ADDRC equ $ffe4ADDRCH equ $ffe4ADDRCL equ $ffe5ADDRD equ $ffe6ADDRDH equ $ffe6ADDRDL equ $ffe7ADCSR equ $ffe8 ; Control/Status Register:ADF equ 7 ; Conversion CompletedADIE equ 6 ; Interrupt on Conversion End?ADST equ 5 ; Start ConversionSCAN equ 4 ; Scan ModeCKS equ 3 ; Conversion TimeCH2 equ 2 ; Channel SelectionCH1 equ 1CH0 equ 0ADCR equ $ffe9 ; A/D Control RegisterTRGE equ 7 ; Trigger Enable;-----------------------------------------------------------------------------; D/A-Wandler (Sec.16 p.527-533)DADR0 equ $ffdc ; D/A Data Register 0DADR1 equ $ffdd ; D/A Data Register 1DACR equ $ffde ; D/A Control RegisterDASTCR equ $ff5c ; D/A Standby Control Register; DACR RegisterDAOE1 equ 7 ; D/A Output EnableDAOE0 equ 6DAE equ 5 ; D/A Enable; DASTCR RegisterDASTE equ 0 ; D/A Standby Enable;-----------------------------------------------------------------------------; Clock-Pulse Generator (Sec.19 p.607-614)DIVCR equ $ff5d ; Divison Control RegisterDIV1 equ 1DIV0 equ 0;-----------------------------------------------------------------------------restore ; allow listing againendif ; reg3048inc