⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reg96.inc

📁 万能汇编工具
💻 INC
📖 第 1 页 / 共 2 页
字号:
Timer1           equ     0ah            ; Timer 1 (nur Wort)
Timer2           equ     0ch            ; Timer 2 (nur Wort)

PWM_Control      equ     17h            ; Einstellung Pulsweite PWM


                endcase

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

                switch  MOMCPUNAME


                case    "80296"

P1_DIR           equ     1fd2h          ; Richtungsregister Port 1
P1_MODE          equ     1fd0h          ; Auswahl Port 1 Spezialfunktion/IO-Port
P1_PIN           equ     1fd6h          ; Status Port 1 Pins
P1_REG           equ     1fd4h          ; Port 1 Ausgabedaten

P2_DIR           equ     1fd3h          ; Rest sinngem勧
P2_MODE          equ     1fd1h
P2_PIN           equ     1fd7h
P2_REG           equ     1fd5h

P3_DIR           equ     1fdah
P3_MODE          equ     1fd8h
P3_PIN           equ     1fdeh
P3_REG           equ     1fdch

P4_DIR           equ     1fdbh
P4_MODE          equ     1fd9h
P4_PIN           equ     1fdfh
P4_REG           equ     1fddh

EP_DIR           equ     1fe3h
EP_MODE          equ     1fe1h
EP_PIN           equ     1fe7h
EP_REG           equ     1fe5h


                case    "80196N"
P0_PIN           equ     1fdah          ; Daten Port 0

P1_DIR           equ     1fd2h          ; Richtungsregister Port 1
P1_MODE          equ     1fd0h          ; Auswahl Port 1 Spezialfunktion/IO-Port
P1_PIN           equ     1fd6h          ; Status Port 1 Pins
P1_REG           equ     1fd4h          ; Port 1 Ausgabedaten

P2_DIR           equ     1fcbh          ; Rest sinngem勧
P2_MODE          equ     1fc9h
P2_PIN           equ     1fcfh
P2_REG           equ     1fcdh

P3_PIN           equ     1ffeh
P3_REG           equ     1ffch

P4_PIN           equ     1fffh
P4_REG           equ     1ffdh

P34_DRV          equ     1ff4h          ; Umschaltung Port 3/4 als open-drain oder push-pull

P5_DIR           equ     1ff3h
P5_MODE          equ     1ff1h
P5_PIN           equ     1ff7h
P5_REG           equ     1ff5h

P6_DIR           equ     1fd3h
P6_MODE          equ     1fd1h
P6_PIN           equ     1fd7h
P6_REG           equ     1fd5h

EP_DIR           equ     1fe3h
EP_MODE          equ     1fe1h
EP_PIN           equ     1fe7h
EP_REG           equ     1fe5h


                case    "80196"
P0PIn            equ     1fdah          ; Daten Port 0

P1SSel           equ     1fd0h          ; Spezialfunktionen auf Port 1 ?
P1IO             equ     1fd2h          ; Port 1 Datenrichtungsregister
P1Reg            equ     1fd4h          ; Port 1 Datenausgabe
P1PIn            equ     1fd6h          ; Eingangszustand Port 1

P2SSel           equ     1fc9h          ; Rest sinngem勧
P2IO             equ     1fcbh
P2Reg            equ     1fcdh
P2PIn            equ     1fcfh

P3Reg            equ     1ffch
P3PIn            equ     1ffeh

P4Reg            equ     1ffdh
P4PIn            equ     1fffh

P5SSel           equ     1ff1h
P5IO             equ     1ff3h
P5Reg            equ     1ff5h
P5PIn            equ     1ff7h

P6SSel           equ     1fd1h
P6IO             equ     1fd3h
P6Reg            equ     1fd5h
P6PIn            equ     1fd7h


                case    "8096"
Port0            equ     0eh            ; Port 0
Port1            equ     0fh            ; Port 1
Port2            equ     10h            ; Port 2
Port3            equ     1ffeh          ; Port 3 (falls kein ext. Speicher)
Port4            equ     1fffh          ; Port 4 (falls kein ext. Speicher)

IOS0             equ     15h            ; I/O-Statusregister 0
IOS1             equ     16h            ; I/O-Statusregister 1
IOC0             equ     15h            ; I/O-Statusregister 0
IOC1             equ     16h            ; I/O-Statusregister 1


                endcase

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Slave-Port

                switch  MOMCPUNAME


                case    "80296"         ; Warnung unterdr乧ken


                case    "80196N"
SLP_CMD          equ     1ffah          ; Kommandoregister
SLP_CON          equ     1ffbh
SLP_STAT         equ     1ff8h


                case    "80196"         ; Warnung unterdr乧ken


                case    "8096"
SlpStat          equ     1ff8h          ; Status Slave-Port
SlpCmd           equ     1ffah          ; Kommandoregister Slave-Port
SlpFunReg        equ     1ffbh          ; Slave-Port Steuerung


                endcase

;----------------------------------------------------------------------------
; Vektoren/Sonderadressen

                if      MOMCPU>=80196h
EPAIntX_Vec      equ     2000h          ; Kanal 4...9/0/1 EPA
EPAInt3_Vec      equ     2002h          ; Kanal 3 EPA
EPAInt2_Vec      equ     2004h          ; Kanal 2 EPA
EPAInt1_Vec      equ     2006h          ; Kanal 1 EPA
EPAInt0_Vec      equ     2008h          ; Kanal 0 EPA
AD_Complete_Vec  equ     200ah          ; A/D-Wandlung abgeschlossen
OBE_Slp_Vec      equ     200ch          ; Ausgabepuffer leer
IBF_Slp_Vec      equ     200eh          ; Eingabepuffer voll
Trap_Vec         equ     2010h          ; Software-Trap
Ill_Opcode_Vec   equ     2012h          ; undefinierter Opcode
CMD_Full_Vec     equ     2030h          ; Kommandopuffer voll
SSIO0_Trans_Vec  equ     2032h          ; Transfer SSIO0 abgeschlossen
SSIO1_Trans_Vec  equ     2034h          ; Transfer SSIO1 abgeschlossen
SIO_TrInt_Vec    equ     2036h          ; SIO hat Zeichen versandt
SIO_RcInt_Vec    equ     2038h          ; SIO hat Zeichen empfangen
ExtInt_Vec       equ     203ch          ; externer Interrupt
NMI_Vec          equ     203eh          ; nicht mask. Interrupt
                elseif
TOverInt_Vec     equ     2000h          ; Vektor Timer乥erlauf
ADInt_Vec        equ     2002h          ; Vektor A/D-Wandlung beendet
HSIDataInt_Vec   equ     2004h          ; Vektor HSI-Daten verf乬bar
HSOInt_Vec       equ     2006h          ; Vektor HSO
HSI0Int_Vec      equ     2008h          ; Vektor HSI.0
TimeInt_Vec      equ     200ah          ; Vektor f乺 Timer
SerialInt_Vec    equ     200ch          ; Vektor serieller Interrupt
ExtInt_Vec       equ     200eh          ; Vektor externer Interrupt
SoftInt_Vec      equ     2010h          ; TRAP Interruptvektor
Self_Jump        equ     201ah          ; Endlosschleife
                endif

;----------------------------------------------------------------------------
; Speicherbereiche, Spezialregister

                switch  MOMCPUNAME


                case    "80296"
IRAM             equ     1ah            ; Beginn internes RAM
IRAMEND          equ     1ffh           ; Ende internes RAM
CODERAM          equ     0f800h         ; Beginn Code-RAM
CODERAMEND       equ     0ffffh         ; Ende Code-RAM
EXTMEM1          equ     400h           ; Beginn externer Speicher Bereich 1
EXTMEM1END       equ     1bffh          ; Ende externer Speicher Bereich 1
EXTMEM2          equ     02000h         ; Beginn externer Speicher Bereich 2
EXTMEM2END       equ     0f7ffh         ; Ende externer Speicher Bereich 2
EXTMEM3          equ     0ff0400h       ; Beginn externer Speicher Bereich 3
EXTMEM3END       equ     0fff7ffh       ; Ende externer Speicher Bereich 3
CCB0             equ     0ff2018h       ; Chip-Konfiguration
CCB1             equ     0ff201ah       ; erw. Chip-Konfiguration
Reset_Location   equ     0ff2080h       ; Startadresse nach Reset


                case    "80196N"
IRAM             equ     1ah            ; Beginn internes RAM
IRAMEND          equ     3ffh           ; Ende internes RAM
IROM             equ     0ff2000h       ; Beginn internes Programm-ROM
IROMEND          equ     0ff9fffh       ; Ende internes Programm-ROM
EXTMEM1          equ     600h           ; Beginn externer Speicher Bereich 1
EXTMEM1END       equ     1effh          ; Ende externer Speicher Bereich 1
EXTMEM2          equ     0a000h         ; Beginn externer Speicher Bereich 2
EXTMEM2END       equ     0ffffh         ; Ende externer Speicher Bereich 2
EXTMEM3          equ     0ff0100h       ; Beginn externer Speicher Bereich 3
EXTMEM3END       equ     0ff03ffh       ; Ende externer Speicher Bereich 3
EXTMEM4          equ     0ff0600h       ; Beginn externer Speicher Bereich 4
EXTMEM4END       equ     0ff1fffh       ; Ende externer Speicher Bereich 4
EXTMEM5          equ     0ffa000h       ; Beginn externer Speicher Bereich 5
EXTMEM5END       equ     0ffffffh       ; Ende externer Speicher Bereich 5
CCB0             equ     0ff2018h       ; Chip-Konfiguration
CCB1             equ     0ff201ah       ; erw. Chip-Konfiguration
CCB2             equ     0ff201ch
Security_Key     equ     0ff2020h       ; Schl乻sel
Reset_Location   equ     0ff2080h       ; Startadresse nach Reset
USFR             equ     1ff6h          ; ???
IRAM_CON         equ     1fe0h          ; Konfiguration Code-RAM


                case    "80196"
IRAM             equ     1ah            ; Beginn internes RAM
IRAMEND          equ     1ffh           ; Ende internes RAM
PDRAM            equ     IRAM           ; Beginn Power-Down-RAM
PDRAMEND         equ     1ffh           ; Ende Power-Down-RAM
CODERAM          equ     400h           ; Beginn Code-RAM (KEIN Windowing!)
CODERAMEND       equ     4ffh           ; Ende Code-RAM
IROM             equ     2000h          ; Beginn internes Programm-ROM
IROMEND          equ     3fffh          ; Ende internes Programm-ROM
EXTMEM1          equ     500h           ; Beginn externer Speicher Bereich 1
EXTMEM1END       equ     1effh          ; Ende externer Speicher Bereich 1
EXTMEM2          equ     4000h          ; Beginn externer Speicher Bereich 2
EXTMEM2END       equ     0ffffh         ; Ende externer Speicher Bereich 2
CCB              equ     2018h          ; Chip-Konfiguration
CCB1             equ     201ah          ; erw. Chip-Konfiguration
Security_Key     equ     2020h          ; Schl乻sel
Reset_Location   equ     2080h          ; Startadresse nach Reset
USFR             equ     1ff6h          ; ???


                case    "8096"
IRAM             equ     1ah            ; Beginn internes RAM
IRAMEND          equ     0ffh           ; Ende internes RAM
PDRAM            equ     0f0h           ; Beginn Power-Down-RAM
PDRAMEND         equ     0ffh           ; Ende Power-Down-RAM
IROM             equ     2000h          ; Beginn internes Programm-ROM
IROMEND          equ     3fffh          ; Ende internes Programm-ROM
EXTMEM1          equ     100h           ; Beginn externer Speicher Bereich 1
EXTMEM1END       equ     1effh          ; Ende externer Speicher Bereich 1
EXTMEM2          equ     4000h          ; Beginn externer Speicher Bereich 2
EXTMEM2END       equ     0ffffh         ; Ende externer Speicher Bereich 2
CCB              equ     2018h          ; Chip-Konfiguration
Security_Key     equ     2020h          ; Schl乻sel
Reset_Location   equ     2080h          ; Startadresse nach Reset


                endcase

Security_Key_End equ    Security_Key+15

;--------------------------------------------------------------------------
; lange Spr乶ge

__DefLongJmp    macro   new,old
new             macro   Adr,{NoExpand}
                old     Skip
                ljmp    Adr
Skip:
                endm
                endm

                __DefLongJmp bc,jnc
                __DefLongJmp be,jne
                __DefLongJmp bge,jlt
                __DefLongJmp bgt,jle
                __DefLongJmp bh,jnh
                __DefLongJmp ble,jgt
                __DefLongJmp blt,jge
                __DefLongJmp bnc,jc
                __DefLongJmp bne,je
                __DefLongJmp bnh,jh
                __DefLongJmp bnst,jst
                __DefLongJmp bnv,jv
                __DefLongJmp bnvt,jvt
                __DefLongJmp bst,jnst
                __DefLongJmp bv,jnv
                __DefLongJmp bvt,jnvt

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

                endif

		restore                 ; wieder erlauben

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -