Subversion Repositories pentevo

Rev

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

                ifndef  __regz86xxinc
__regz86xxinc   equ     1
                save
                listing off   ; kein Listing ueber diesen File

;****************************************************************************
;*                                                                          *
;*   AS 1.42 - File REGZ86XX.INC                                            *
;*                                                                          *
;*   Contains Bit & Register Definitions for Z8601/8603                     *
;*                                                                          *
;****************************************************************************

;----------------------------------------------------------------------------
; CPU Core

SPL             sfr     0ffh            ; Stack Pointer
SPH             sfr     0feh
RP              sfr     0fdh            ; Register Pointer
FLAGS           sfr     0fch            ; CPU Flags

;----------------------------------------------------------------------------
; Memory Limits

;----------------------------------------------------------------------------
; GPIO

P0              sfr     00h             ; Port 0 Data
P1              sfr     01h             ; Port 1 Data
P2              sfr     02h             ; Port 2 Data
P3              sfr     03h             ; Port 3 Data
P01M            sfr     0f8h            ; Port 0, Port 1 Betriebsart
P0_03_MODE      __z8bfield P01M,0,2     ;  Port 0.0..3 Mode
STACKSEL        __z8bit P01M,2          ;  Stack external/internal?
P1_07_MODE      __z8bfield P01M,3,2     ;  Port 1.0..7 Mode
XMEM_TIMING     __z8bit P01M,5          ;  Externel memory timing
P0_47_MODE      __z8bfield P01M,6,2     ;  Port 0.4..7 Mode
P2M             sfr     0f6h            ; Port 2 Mode
P3M             sfr     0f7h            ; Port 3 Mode
P2_PUP_EN       __z8bit P3M,0           ;  Enable Pullups on P2
RDY0_DAV0_EN    __z8bit P3M,2           ;  Enable P32/P35 as RDY0/DAV0
RDY1_DAV1_EN    __z8bfield P3M,3,2      ;  Enable P33/P34 as RDY1/DAV1
RDY2_DAV2_EN    __z8bit P3M,5           ;  Enable P31/P36 as RDY2/DAV2
SIO_EN          __z8bit P3M,6           ;  Enable P30/P37 as SIN/SOUT 
PAR_EN          __z8bit P3M,7           ;  Parity Enable

;----------------------------------------------------------------------------
; Interrupt Vectors

                enumconf 2,code
                enum     RESET_vect=0   ; Reset Entry
                nextenum IRQ0_vect      ; External Interrupt Request 0
                nextenum IRQ1_vect      ; External Interrupt Request 1
                nextenum IRQ2_vect      ; External Interrupt Request 2
                nextenum IRQ3_vect      ; External Interrupt Request 3, shared with...
SIO_RX_vect     label   IRQ3_vect       ; SIO character received
                nextenum SIO_TX_vect    ; SIO character transmitted, shared with...
T0_vect         label   SIO_TX_vect     ; Timer 0 end of count
                if      __hastimer1
                 nextenum T1_vect       ; [IRQ5] Timer 1 end of count
                endif

;----------------------------------------------------------------------------
; Interrupt Vectors

IMR             sfr     0fbh            ; Interrupt Mask Register
EIRQ0           __z8bit IMR,0           ;  Enable IRQ0
EIRQ1           __z8bit IMR,1           ;  Enable IRQ1
EIRQ2           __z8bit IMR,2           ;  Enable IRQ2
EIRQ3           __z8bit IMR,3           ;  Enable IRQ3
EIRQ4           __z8bit IMR,4           ;  Enable IRQ4
EIRQ5           __z8bit IMR,5           ;  Enable IRQ5
EINT            __z8bit IMR,7           ;  Master Interrupt Enable

IPR             sfr     0f9h            ; Interrupt Priory Register

IRQ             sfr     0fah            ; Interrupt Request Register
IRQ0            __z8bit IRQ,0           ;  IRQ0 requested
IRQ1            __z8bit IRQ,1           ;  IRQ1 requested
IRQ2            __z8bit IRQ,2           ;  IRQ2 requested
IRQ3            __z8bit IRQ,3           ;  IRQ3 requested
IRQ4            __z8bit IRQ,4           ;  IRQ4 requested
IRQ5            __z8bit IRQ,5           ;  IRQ5 requested
IEDGE           __z8bfield 6,2          ;  IRQ Edge Selection

;----------------------------------------------------------------------------
; Timers

TMR             sfr     0f1h            ; Timer Operation Mode
T0_LOAD         __z8bit TMR,0           ;  Timer 0 Load
T0_EN           __z8bit TMR,1           ;  Enable Timer 0
TIN_MODES       __z8bfield TMR,4,2      ;  Tin Input Modes
TOUT_MODES      __z8bfield TMR,6,2      ;  Tout Output Modes

T0              sfr     0f4h            ; Timer 0 Value
PRE0            sfr     0f5h            ; Timer 0 Prescaler
T0_COUNTMODE    __z8bit PRE0,0          ;  Count Mode (once or modulo)
T0_PRESCALER    __z8bfield PRE0,2,6     ;  Prescaler Value

                if      __hastimer1
T1_LOAD         __z8bit TMR,2           ;  Timer 1 Load
T1_EN           __z8bit TMR,3           ;  Enable Timer 1
T1              sfr     0f2h            ; Timer 1 Value
PRE1            sfr     0f3h            ; Timer 1 Prescaler
T1_COUNTMODE    __z8bit PRE1,0          ;  Count Mode (once or modulo)
T1_CLKSRC       __z8bit PRE1,1          ;  Clock Source
T1_PRESCALER    __z8bfield PRE1,2,6     ;  Prescaler Value
                endif                   ; __hastimer1

;----------------------------------------------------------------------------
; UART

SIO             sfr     0f0h            ; Serial Input/Output Register

;----------------------------------------------------------------------------

                restore

                endif                   ; __regz86xxinc