                save
                listing off   ; kein Listing über diesen File

;****************************************************************************
;*                                                                          *
;*   AS 1.41 - Datei REGCOP8.INC                                            *
;*   								            *
;*   Sinn : enthält Registerdefinitionen für die COP8-Familie               *
;* 									    *
;*   letzte Änderungen :  2. 9.1996                                         *
;*                        8. 2.1997 MOmPass=1...                            *
;*                                                                          *
;****************************************************************************

                ifndef  regcop8inc      ; verhindert Mehrfacheinbindung

regcop8inc      equ     1

                if      MOMPASS=1
                 switch  MOMCPUNAME
                 case    "COP87L84"
                  message "including COP87L84-registers"
                 elsecase
                  fatal   "invalid processor type: only COP87L84 allowed!"
                 endcase
                endif

;----------------------------------------------------------------------------
; Prozessorkern

__REG           set     0
                rept    10
R{"\{__REG}"}   equ __REG+0xf0
__REG           set     __REG+1,data
                endm
                rept    6
R1{"\{__REG-10}"} equ __REG+0xf0
__REG           set     __REG+1,data
                endm

psw             sfr     0xef            ; Flags
gie             equ      0              ; globale Interruptfreigabe
exen            equ      1              ; externe Interruptfreigabe
busy            equ      2              ; Microwire busy ?
expnd           equ      3              ; externer Interrupt angefordert ?
t1ena           equ      4              ; Timer 1 Interruptfreigabe
t1pnda          equ      5              ; Timer 1 Interrupt angefordert ?
c               equ      6              ; Carry
hc              equ      7              ; Halfcarry
x               sfr     0xfc            ; X-Register
sp              sfr     0xfd            ; Stackpointer
b               sfr     0xfe            ; B-Register

;----------------------------------------------------------------------------
; Peripherie-Steuerregister

cntrl           sfr     0xee            ; globale Steuerung
sl0             equ      0              ; Taktteiler Microwire
sl1             equ      1
iedg            equ      2              ; Flankenwahl externer Interrupt
msel            equ      3              ; G4/G5 für Microwire benutzen
t1c0            equ      4              ; Timer 1 Interrupt/Start-Stop
t1c1            equ      5              ; Moduswahl Timer 1
t1c2            equ      6
t1c3            equ      7

icntrl          sfr     0xe8            ; Fortsetzung...
t1enb           equ      0              ; Freigabe Fang-Interrupt Timer 1
t1pndb          equ      1              ; Fang-Interrupt Timer 1 aufgetreten ?
uwen            equ      2              ; Freigabe MicroWire-Interrupt
uwpnd           equ      3              ; MicroWire-Interrupt aufgetreten ?
t0en            equ      4              ; Freigabe Interrupt Timer 0
t0pndb          equ      5              ; Timer 0-Interrupt aufgetreten ?
lpen            equ      6              ; Freigabe Port L-Interrupt

;----------------------------------------------------------------------------
; Timer

t1rblo          sfr     0xe6            ; Autoload-Wert B Timer 1
t1rbhi          sfr     0xe7

tmr1lo          sfr     0xea            ; Zählwert Timer 0
tmr1hi          sfr     0xeb

t1ralo          sfr     0xec            ; Autoload-Wert A Timer 1
t1rahi          sfr     0xed

;----------------------------------------------------------------------------
; PWM

pscal           sfr     0xa0            ; Vorteiler PWM

rlon            sfr     0xa1            ; On-Anteil PWM

pwmcon          sfr     0xa2            ; Steuerregister PWM
pwen0           equ      0              ; PWM0 auf I/O-Port geben
pwen1           equ      1              ; PWM1 auf I/O-Port geben
pwon            equ      2              ; PWM starten/stoppen
pwmd            equ      3              ; PWM-Modus
pwie            equ      4              ; Interrupt-Freigabe PWM
pwpnd           equ      5              ; Interrupt PWM aufgetreten ?
esel            equ      6              ; Flankenwahl PWM

;----------------------------------------------------------------------------
; MicroWire-Interface

wkedg           sfr     0xc8
wken            sfr     0xc9
wkpnd           sfr     0xca

sior            sfr     0xe9            ; Schieberegister

;----------------------------------------------------------------------------
; CAN Interface

txd1            sfr     0xb0            ; Sendedaten (Byte 1,3,5,7,...)
txd2            sfr     0xb1            ; Sendedaten (Byte 2,4,6,8,...)

tdlc            sfr     0xb2            ; Sendelängen-/Identifier(L)-Register
tdlc0           equ      0              ; Sendelänge
tdlc1           equ      1
tdlc2           equ      2
tdlc3           equ      3
tid0            equ      4              ; Sendeidentifikation (Bit 0..3)
tid1            equ      5
tid2            equ      6
tid3            equ      7

tid             sfr     0xb3            ; Sendeidentifikationsregister
tid4            equ      0              ; Sendeidentifikation (Bit 4..10)
tid5            equ      1
tid6            equ      2
tid7            equ      3
tid8            equ      4
tid9            equ      5
tid10           equ      6
trtr            equ      7              ; Senderahmen remote ?

rxd1            sfr     0xb4            ; Empfangsdaten (Byte 1,3,5,7,...)
rxd2            sfr     0xb5            ; Empfangsdaten (Byte 2,4,6,8,...)

ridl            sfr     0xb6            ; Empfangslängen/Identifier(L)-Register
rdlc0           equ      0              ; Empfangslänge
rdlc1           equ      1
rdlc2           equ      2
rdlc3           equ      3
rid0            equ      4              ; Empfangsidentifikation (Bit 0..3)
rid1            equ      5
rid2            equ      6
rid3            equ      7

rid             sfr     0xb7            ; Empfangsidentifikationsregister
rid4            equ      0              ; Empfangsidentifikation (Bit 4..10)
rid5            equ      1
rid6            equ      2
rid7            equ      3
rid8            equ      4
rid9            equ      5
rid10           equ      6

cscal           sfr     0xb8            ; Vorteiler CAN-Takt

ctim            sfr     0xb9            ; CAN-Bus-Timing-Register
ps0             equ      2              ; Phase Segment
ps1             equ      3
ps2             equ      4
pps0            equ      5              ; Propagation Segment
pps1            equ      6
pps2            equ      7

cbus            sfr     0xba            ; CAN-Bus-Timing-Register
fmod            equ      1              ; Fault Confinement Mode
rxred0          equ      2              ; Referenzspannung an Rx0 anlegen
rxref1          equ      3              ; Referenzspannung an Tx0 anlegen
txen0           equ      4              ; TxD Ausgangstreiber freigeben
txen1           equ      5
riaf            equ      6              ; Empfangsfilter freigeben

tcntl           sfr     0xbb            ; CAN-Bus-Steuer/Statusregister
txss            equ      0              ; Sender starten/stoppen
rie             equ      1              ; Freigabe Empfangs-Interrupt
tie             equ      2              ; Freigabe Sende-Interrupt
ceie            equ      3              ; Freigabe CAN-Interrupt
rerr            equ      4              ; Empfangsfehler
terr            equ      5              ; Sendefehler
ns0             equ      6              ; Knoten-Status
ns1             equ      7

rtstat          sfr     0xbc            ; CAN-Bus-Sender/Empfängerstatus
rbf             equ      0              ; Empfangspuffer voll ?
rcv             equ      1              ; Empfang läuft ?
rfv             equ      2              ; empfangener Rahmen gültig ?
rorn            equ      3              ; Empfängerüberlauf ?
rold            equ      4              ; Empfängerrahmenüberlauf ?
rrtr            equ      5              ; Remote-Bit in empfangenem Rahmen gesetzt ?
txpnd           equ      6              ; Sendung läuft ?
tbe             equ      7              ; Sendepuffer leer ?

tec             sfr     0xbd            ; Sendefehlerzähler
rec             sfr     0xbe            ; Empfangsfehlerzähler

;----------------------------------------------------------------------------
; Komparatoren

cmpsl           sfr     0xd3            ; Steuerregister Komparatoren
cmp1en          equ      1              ; Komparator 1 aktivieren
cmp1rd          equ      2              ; Ausgangswert Komparator 1
cmp1oe          equ      3              ; Ausgang Komparator 1 herausgeben
cmp2en          equ      4              ; Komparator 2 aktivieren
cmp2rd          equ      5              ; Ausgangswert Komparator 2
cmp2oe          equ      6              ; Ausgang Komparator 2 herausgeben
cmp2sel         equ      7              ; Ausgabe Komparator 2 auf L3/L5

;----------------------------------------------------------------------------
; Ports

portld          sfr     0xd0            ; Ausgaberegister Port L
portlc          sfr     0xd1            ; Konfigurationsregister Port L
portlp          sfr     0xd2            ; Leseregister Port L

portgd          sfr     0xd4            ; Ausgaberegister Port G
portgc          sfr     0xd5            ; Konfigurationsregister Port G
portgp          sfr     0xd6            ; Leseregister Port G

portd           sfr     0xdc            ; Ausgaberegister Port D

;----------------------------------------------------------------------------
; Vektoradressen

;----------------------------------------------------------------------------
; Speicheradressen

iram            sfr     0x00            ; Bereich internes RAM
iramend         sfr     0x2f

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

                endif

                restore         ; Listing wieder an


