📄 ex6.asm
字号:
************************************************
* FileName: ex6.asm *
* Description: 硬件中断实验 *
* Copyright(C) SanZhi Electronic, Author Zpin *
************************************************
.title "ex6"
.global _c_int00
.mmregs
KEY_ADDR .set 0a008h
D_LED_ADDR .set 0b000h
KEY_CODE1 .set 60h
KEY_CODE2 .set 61h
CONVERT .macro rawdata
STM #4000h,AR3
ANDM #001Fh,rawdata
LD rawdata,A
ADD AR3,A
STL A,AR3
nop
nop
LD *AR3,A
STL A,rawdata
nop
nop
nop
nop
.endm
.data
.word 00h,3F06h,0605h,5B04h,4f03h,6602h,6d01h,7d06h,0705h,7f04h,6f03h,07702h,07c01h,3906h,5e05h,07904h,07103h,8002h
;BCD CODE 0 1 2 3 4 5 6 7 8 9 a b c d e f .
;hight 8 bit enable,low 8 bit is address
.sect ".vectors"
rst: B _c_int00
NOP
NOP
.space 17*4*16
int2: B _onkey
NOP
NOP
.space 13*4*16
.text
_c_int00:
LD #0h,DP
STM #3000h,SP
SSBX INTM
ssbx XF
STM #07FFFh,SWWSR
ST #0000h,KEY_CODE2
STM #0ffffh,IFR
ORM #0004h,IMR
RSBX INTM
susp: PORTW KEY_CODE2,D_LED_ADDR ;显示到数码管
rpt #0ffffh
NOP
NOP
B susp
_onkey: nop
rpt #0ffffh
nop
nop
rpt #0ffffh
nop
nop
rpt #0ffffh
nop
nop
rpt #0ffffh
nop
nop
PORTR KEY_ADDR,KEY_CODE2 ;读取按键
CONVERT KEY_CODE2 ;将按键码转换成显示码
exit rpt #0ffffh
nop
nop
rpt #0ffffh
nop
nop
rpt #0ffffh
nop
nop
STM #0ffffh,IFR
RETE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -