Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __regz8inc ; avoid multiple inclusion
__regz8inc equ 1
save
listing off ; kein Listing ueber diesen File
;****************************************************************************
;* *
;* AS 1.42 - File REGZ8.INC *
;* *
;* Sinn : contains SFR and Bit Definitionen for Zilog Z8 Processors *
;* *
;****************************************************************************
;----------------------------------------------------------------------------
; Helper Macros
__z8bit macro {intlabel},reg,bitpos
__label__ defbit reg,bitpos
endm
__z8cbit macro {intlabel},reg,bitpos
__label__ equ 1 << bitpos
endm
__z8bfield macro {intlabel},reg,start,count
__label__ equ ((1 << count) - 1) << start
endm
__z8cbfield macro {intlabel},reg,start,count
__label__ equ ((1 << count) - 1) << start
endm
;----------------------------------------------------------------------------
; Include proper CPU-specific register definitions
switch MOMCPUNAME
case "Z8601"
RAMEND sfr 7fh
ROMEND label 7ffh
__hastimer1 equ 1
include "z8/z86xx.inc"
case "Z8603"
RAMEND sfr 7fh
__hastimer1 equ 1
include "z8/z86xx.inc"
case "Z86C03","Z86E03"
RAMEND sfr 3fh
ROMEND label 1ffh
__hastimer1 equ 0
__haswdt equ 0
__hasspi equ 1
include "z8/z86cxx.inc"
;case "Z8604"
case "Z86C06","Z86E06"
RAMEND sfr 7fh
ROMEND label 0fffh
__hastimer1 equ 1
__haswdt equ 1
__hasspi equ 1
include "z8/z86cxx.inc"
case "Z86C08"
RAMEND sfr 7fh
ROMEND label 7ffh
__hastimer1 equ 1
__haswdt equ 0
__hasspi equ 0
include "z8/z86cxx.inc"
case "Z86C21"
RAMEND sfr 0efh
ROMEND label 1fffh
__hastimer1 equ 1
include "z8/z86xx.inc"
case "Z86E21"
RAMEND sfr 0efh
ROMEND label 1fffh
__hastimer1 equ 1
include "z8/z86xx.inc"
case "Z86C30"
RAMEND sfr 0efh
ROMEND label 0fffh
__hastimer1 equ 1
__haswdt equ 0
__hasspi equ 0
include "z8/z86cxx.inc"
case "Z86C31"
RAMEND sfr 7fh
ROMEND label 7ffh
__hastimer1 equ 1
__haswdt equ 0
__hasspi equ 0
include "z8/z86cxx.inc"
case "Z86C32"
RAMEND sfr 0efh
ROMEND label 7ffh
__hastimer1 equ 1
__haswdt equ 0
__hasspi equ 0
include "z8/z86cxx.inc"
case "Z86C40"
RAMEND sfr 0efh
ROMEND label 0fffh
__hastimer1 equ 1
__haswdt equ 0
__hasspi equ 0
include "z8/z86cxx.inc"
case "Z88C00","Z88C01"
RAMEND sfr 0bfh
include "z8/z88c0x.inc"
case "Z8F0130"
RAMEND sfr 0ffh
ROMEND label 03ffh
__hasadc equ 0
include "z8/f0830.inc"
case "Z8F0131"
RAMEND sfr 0ffh
ROMEND label 03ffh
__hasadc equ 1
include "z8/f0830.inc"
case "Z8F0230"
RAMEND sfr 0ffh
ROMEND label 07ffh
__hasadc equ 0
include "z8/f0830.inc"
case "Z8F0231"
RAMEND sfr 0ffh
ROMEND label 07ffh
__hasadc equ 1
include "z8/f0830.inc"
case "Z8F0430"
RAMEND sfr 0ffh
ROMEND label 0fffh
__hasadc equ 0
include "z8/f0830.inc"
case "Z8F0431"
RAMEND sfr 0ffh
ROMEND label 0fffh
__hasadc equ 1
include "z8/f0830.inc"
case "Z8F0830"
RAMEND sfr 0ffh
ROMEND label 1fffh
__hasadc equ 0
include "z8/f0830.inc"
case "Z8F0831"
RAMEND sfr 0ffh
ROMEND label 1fffh
__hasadc equ 1
include "z8/f0830.inc"
case "Z8F1232"
RAMEND sfr 0ffh
ROMEND label 2fffh
__hasadc equ 0
include "z8/f0830.inc"
case "Z8F1233"
RAMEND sfr 0ffh
ROMEND label 2fffh
__hasadc equ 1
include "z8/f0830.inc"
case "Z8F0113"
RAMEND sfr 0ffh
ROMEND label 3ffh
__hasadc equ 0
include "z8/f0823.inc"
case "Z8F0123"
RAMEND sfr 0ffh
ROMEND label 3ffh
__hasadc equ 1
include "z8/f0823.inc"
case "Z8F0213"
RAMEND sfr 1ffh
ROMEND label 7ffh
__hasadc equ 0
include "z8/f0823.inc"
case "Z8F0223"
RAMEND sfr 1ffh
ROMEND label 7ffh
__hasadc equ 1
include "z8/f0823.inc"
case "Z8F0413"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 0
include "z8/f0823.inc"
case "Z8F0423"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 1
include "z8/f0823.inc"
case "Z8F0813"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 0
include "z8/f0823.inc"
case "Z8F0823"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 1
include "z8/f0823.inc"
case "Z8F011A"
RAMEND sfr 0ffh
ROMEND label 3ffh
__hasadc equ 0
include "z8/f082a.inc"
case "Z8F012A"
RAMEND sfr 0ffh
ROMEND label 3ffh
__hasadc equ 1
include "z8/f082a.inc"
case "Z8F021A"
RAMEND sfr 1ffh
ROMEND label 7ffh
__hasadc equ 0
include "z8/f082a.inc"
case "Z8F022A"
RAMEND sfr 1ffh
ROMEND label 7ffh
__hasadc equ 1
include "z8/f082a.inc"
case "Z8F041A"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 0
include "z8/f082a.inc"
case "Z8F042A"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 1
include "z8/f082a.inc"
case "Z8F081A"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 0
include "z8/f082a.inc"
case "Z8F082A"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 1
include "z8/f082a.inc"
case "Z8F0411"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 0
__hasspi equ 0
include "z8/f0822.inc"
case "Z8F0412"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 0
__hasspi equ 1
include "z8/f0822.inc"
case "Z8F0421"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 1
__hasspi equ 0
include "z8/f0822.inc"
case "Z8F0422"
RAMEND sfr 3ffh
ROMEND label 0fffh
__hasadc equ 1
__hasspi equ 1
include "z8/f0822.inc"
case "Z8F0811"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 0
__hasspi equ 0
include "z8/f0822.inc"
case "Z8F0812"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 0
__hasspi equ 1
include "z8/f0822.inc"
case "Z8F0821"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 1
__hasspi equ 0
include "z8/f0822.inc"
case "Z8F0822"
RAMEND sfr 3ffh
ROMEND label 1fffh
__hasadc equ 1
__hasspi equ 1
include "z8/f0822.inc"
case "Z8F0880"
RAMEND sfr 3ffh
ROMEND label 1fffh
include "z8/f1680.inc"
case "Z8F1680"
RAMEND sfr 7ffh
ROMEND label 3fffh
include "z8/f1680.inc"
case "Z8F2480"
RAMEND sfr 7ffh
ROMEND label 5fffh
include "z8/f1680.inc"
case "Z8F1621"
RAMEND sfr 7ffh
ROMEND label 3fffh
__hastimer3 equ 0
include "z8/f64xx.inc"
case "Z8F1622"
RAMEND sfr 7ffh
ROMEND label 3fffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F2421"
RAMEND sfr 7ffh
ROMEND label 5fffh
__hastimer3 equ 0
include "z8/f64xx.inc"
case "Z8F2422"
RAMEND sfr 7ffh
ROMEND label 5fffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F3221"
RAMEND sfr 7ffh
ROMEND label 7fffh
__hastimer3 equ 0
include "z8/f64xx.inc"
case "Z8F3222"
RAMEND sfr 7ffh
ROMEND label 7fffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F4821"
RAMEND sfr 0effh
ROMEND label 0bfffh
__hastimer3 equ 0
include "z8/f64xx.inc"
case "Z8F4822"
RAMEND sfr 0effh
ROMEND label 0bfffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F4823"
RAMEND sfr 0effh
ROMEND label 0bfffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F6421"
RAMEND sfr 0effh
ROMEND label 0ffffh
__hastimer3 equ 0
include "z8/f64xx.inc"
case "Z8F6422"
RAMEND sfr 0effh
ROMEND label 0ffffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F6423"
RAMEND sfr 0effh
ROMEND label 0ffffh
__hastimer3 equ 1
include "z8/f64xx.inc"
case "Z8F1681"
RAMEND sfr 7ffh
ROMEND label 3fffh
__haslcd equ 0
include "z8/f6482.inc"
case "Z8F1682"
RAMEND sfr 7ffh
ROMEND label 3fffh
__haslcd equ 1
include "z8/f6482.inc"
case "Z8F3281"
RAMEND sfr 0effh
ROMEND label 7fffh
__haslcd equ 0
include "z8/f6482.inc"
case "Z8F3282"
RAMEND sfr 0effh
ROMEND label 7fffh
__haslcd equ 1
include "z8/f6482.inc"
case "Z8F6081"
RAMEND sfr 0effh
ROMEND label 0efffh
__haslcd equ 0
include "z8/f6482.inc"
case "Z8F6082"
RAMEND sfr 0effh
ROMEND label 0efffh
__haslcd equ 1
include "z8/f6482.inc"
case "Z8F6481"
RAMEND sfr 0effh
ROMEND label 0ffffh
__haslcd equ 0
include "z8/f6482.inc"
case "Z8F6482"
RAMEND sfr 0effh
ROMEND label 0ffffh
__haslcd equ 1
include "z8/f6482.inc"
elsecase
error "wrong processor type set: only Z8601, Z86[C,E]03, Z8604, Z86(C,E)06, Z8608, Z86C30, Z86C31, Z86C32, Z86C40, Z88C0000, Z88C0020, Z8F0130, Z8F0131, Z8F0230, Z8F0231, Z8F0430, Z8F0431, Z8F0830, Z8F0831, Z8F1232, Z8F1233"
error "Z8F0113, Z8F0123, Z8F0213, Z8F0223, Z8F0413, Z8F0423, Z8F0813, Z8F0823, Z8F011A, Z8F012A, Z8F021A, Z8F022A, Z8F041A, Z8F042A, Z8F081A, Z8F081A, Z8F0411, Z8F0412, Z8F0421, Z8F0422, Z8F0811, Z8F0812, Z8F0821, Z8F0822"
error "Z8F0880, Z8F1680, Z8F2480"
fatal "allowed!"
endcase
if MOMPASS=1
message "Zilog-Z8-SFR-Definitionen (C) 2020 Alfred Arnold"
endif
;----------------------------------------------------------------------------
; Constant Memory Addresses
ifdef ROMEND ; Device without internal ROM?
ROMSTART label 0 ; Start Address Internal ROM
endif
;----------------------------------------------------------------------------
restore ; wieder erlauben
endif ; __regz8inc