📄 8255.asm
字号:
;******************************************************************************
; File Name: 8255.asm
; Description: This file is used test added I/O ports.
; Version: 1.0
; Author: YDH
;******************************************************************************
.include "F2407REGS.H"
.def _c_int0
;******************************************************************************
; Variable Declarations for on chip RAM Blocks,mainly stored in B0.
;******************************************************************************
.bss GPR0,1
.bss GPR1,1
;******************************************************************************
;INTERRUPT VECTOR TAB.
;******************************************************************************
.sect ".vectors" ;define main vector
RSVECT B _c_int0 ; PM 0 Reset Vector 1
INT1 B PHANTOM ; PM 2 Int level 1 4
INT2 B PHANTOM ; PM 4 Int level 2 5
INT3 B PHANTOM ; PM 6 Int level 3 6
INT4 B PHANTOM ; PM 8 Int level 4 7
INT5 B PHANTOM ; PM A Int level 5 8
INT6 B PHANTOM ; PM C Int level 6 9
RESERVED B PHANTOM ; PM E (Analysis Int) 10
SW_INT8 B PHANTOM ; PM 10 User S/W int -
SW_INT9 B PHANTOM ; PM 12 User S/W int -
SW_INT10 B PHANTOM ; PM 14 User S/W int -
SW_INT11 B PHANTOM ; PM 16 User S/W int -
SW_INT12 B PHANTOM ; PM 18 User S/W int -
SW_INT13 B PHANTOM ; PM 1A User S/W int -
SW_INT14 B PHANTOM ; PM 1C User S/W int -
SW_INT15 B PHANTOM ; PM 1E User S/W int -
SW_INT16 B PHANTOM ; PM 20 User S/W int -
TRAP B PHANTOM ; PM 22 TRAP VECTOR
NMI B PHANTOM ; PM 24 NON MASKZBLE INT
EMU_TRAP B PHANTOM ; PM 26 EMULATOR TRAP
SW_INT20 B PHANTOM ; PM 28 User S/W int
SW_INT21 B PHANTOM ; PM 2A User S/W int
SW_INT22 B PHANTOM ; PM 2C User S/W int
SW_INT23 B PHANTOM ; PM 2E User S/W int
SW_INT24 B PHANTOM ; PM 30 User S/W int
SW_INT25 B PHANTOM ; PM 32 User S/W int
SW_INT26 B PHANTOM ; PM 34 User S/W int
SW_INT27 B PHANTOM ; PM 36 User S/W int
SW_INT28 B PHANTOM ; PM 38 User S/W int
SW_INT29 B PHANTOM ; PM 3A User S/W int
SW_INT30 B PHANTOM ; PM 3C User S/W int
SW_INT31 B PHANTOM ; PM 3E User S/W int
;******************************************************************************
;INTERRUPT ENTERANCE VECTOR TAB.
;******************************************************************************
.sect ".pvesc"
PVECTORS B PHANTOM ;Reserved pvector addr offset-0000h
B PHANTOM ;Reserved pvector addr offset 1
B PHANTOM ;Reserved pvector addr offset 2
B PHANTOM ;Reserved pvector addr offset 3
B PHANTOM ;Reserved pvector addr offset 4
B PHANTOM ;Reserved pvector addr offset-0005h
B PHANTOM ;Reserved pvector addr offset 6
B PHANTOM ;Reserved pvector addr offset 7
B PHANTOM ;Reserved pvector addr offset 8
B PHANTOM ;Reserved pvector addr offset 9
B PHANTOM ;Reserved pvector addr offset-000ah
B PHANTOM ;Reserved pvector addr offset B
B PHANTOM ;Reserved pvector addr offset C
B PHANTOM ;Reserved pvector addr offset D
B PHANTOM ;Reserved pvector addr offset E
B PHANTOM ;Reserved pvector addr offset F
B PHANTOM ;Reserved pvector addr offset-0010h
B PHANTOM ;Reserved pvector addr offset 11
B PHANTOM ;Reserved pvector addr offset 12
B PHANTOM ;Reserved pvector addr offset 13
B PHANTOM ;Reserved pvector addr offset 14
B PHANTOM ;Reserved pvector addr offset-0015h
B PHANTOM ;Reserved pvector addr offset 16
B PHANTOM ;Reserved pvector addr offset 17
B PHANTOM ;Reserved pvector addr offset 18
B PHANTOM ;Reserved pvector addr offset 19
B PHANTOM ;Reserved pvector addr offset-001ah
B PHANTOM ;Reserved pvector addr offset 1B
B PHANTOM ;Reserved pvector addr offset 1C
B PHANTOM ;Reserved pvector addr offset 1D
B PHANTOM ;Reserved pvector addr offset 1E
B PHANTOM ;Reserved pvector addr offset 1F
B PHANTOM ;Reserved pvector addr offset-0020h
B PHANTOM ;Reserved pvector addr offset 21
B PHANTOM ;Reserved pvector addr offset 22
B PHANTOM ;Reserved pvector addr offset 23
B PHANTOM ;Reserved pvector addr offset 24
B PHANTOM ;Reserved pvector addr offset-0025h
B PHANTOM ;Reserved pvector addr offset 26
B PHANTOM ;Reserved pvector addr offset-0027H
B PHANTOM ;Reserved pvector addr offset 28
B PHANTOM ;Reserved pvector addr offset 29
B PHANTOM ;Reserved pvector addr offset-002ah
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset-0030h
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset-0035h
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset-003ah
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset-003fh
B PHANTOM ;Reserved pvector addr offset
B PHANTOM ;Reserved pvector addr offset-0041h
;******************************************************************************
;Main Code Starts Here.
;******************************************************************************
_c_int0:
LDP #0000H
SETC INTM ;Disable interrupts
SPLK #0000h,IMR ;Mask all core interrupts
LACC IFR ;Read Interrupt flags
SACL IFR ;Clear all interrupt flags
CLRC SXM ;Clear Sign Extension Mode
CLRC OVM ;Reset Overflow Mode
CLRC CNF
LDP #00E0H
SPLK #83FFH,SCSR1 ;CLK IN 10M,CPUclk=2*Fin=20M.
SPLK #00E8H,WDCR ;DISABLE WATCH DOG.
LDP #0000H
SPLK #01F8H,GPR0 ;Set wait state generator for:
OUT GPR0,WSGR ;Program Space, 0 wait states
;Data Space, 7 wait states
;I/O Space, 7 wait states
;******************************************************************************
;Data memory initialization.
;******************************************************************************
LDP #0000H
LAR AR0,#B2_SADDR ;B2 Data Initialization.
ZAC
RPT #31
SACL *+
LDP #0000H
SPLK #0089H,GPR0
SPLK #0090H,GPR1
;******************************************************************************
;Main programe.
;******************************************************************************
LDP #0000H
OUT GPR0,CONDATA
NOP
MAIN: ; OUT GPR1,PPA
; NOP
; OUT GPR1,PPB
; NOP
LDP #0000H
IN GPR0,PPC
LACC GPR0
AND #00FFH
SACL GPR0
NOP
B MAIN
;******************************************************************************
;Delay service routine,delayed time is 5us.
;******************************************************************************
DELAY5US: LDP #0000H
LAR AR7,#10
MAR *,AR7
LOOPER: NOP
BANZ LOOPER
RET
;******************************************************************************
;Delay 1ms Service Routine.
;******************************************************************************
DELAY1MS: LDP #0000H
SPLK #200,GPR1
LACC #15
SACL GPR0
LAR AR7,GPR1
MAR *,AR7
LOOPR: LDP #0000H
RPT GPR0
NOP
BANZ LOOPR
RET
;******************************************************************************
;False Interrupt service routine.
;******************************************************************************
PHANTOM: NOP
KICK_DOG
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -