📄 vectors08.s
字号:
.module vectors08.c
.area text
_isrDummy::
pshh
L1:
.dbline 0 ; func end
pulh
rti
_isrTIMER1::
pshh
lda *__r0
psha
lda *__r1
psha
lda *__r2
psha
lda *__r3
psha
lda *__r4
psha
lda *__r5
psha
lda *__r6
psha
lda *__r7
psha
lda *__r8
psha
lda *__r9
psha
lda *__r10
psha
lda *__r11
psha
lda *__rhi
psha
lda *__rlo
psha
; /*-----------------------------------------------------*
; *文件名:vectors08.c *
; *功 能:用于定义中断矢量表 *
; *-----------------------------------------------------*/
; //[头文件]
; #include "GP32C.H"
; #include "clock.h"
; extern unsigned char out;
;
; //未定义的中断处理函数,本函数不能删除
; #pragma interrupt_handler isrDummy
; void isrDummy(void){
; }
;
; #pragma interrupt_handler isrTIMER1
; void isrTIMER1(void){
; asm("SEI"); //关总中断
SEI
; T1SC&=~(1<<TOFBit); //重新开始计数
bclr #7,0x20
; addtime(); //日期,时间累加
jsr _addtime
; displaytime(); //显示时间
jsr _displaytime
tsx
; asm("CLI"); //开总中断
CLI
L2:
.dbline 0 ; func end
pula
sta *__rlo
pula
sta *__rhi
pula
sta *__r11
pula
sta *__r10
pula
sta *__r9
pula
sta *__r8
pula
sta *__r7
pula
sta *__r6
pula
sta *__r5
pula
sta *__r4
pula
sta *__r3
pula
sta *__r2
pula
sta *__r1
pula
sta *__r0
pulh
rti
_isrTIMER2::
; }
;
; #pragma interrupt_handler isrTIMER1
; void isrTIMER2(void){
; out=~out; //输出取反
com *_out
; PTD=out; //输出
mov *_out,0x3
L3:
.dbline 0 ; func end
rts
; KB_valve -> 0,X
_isrKBI::
pshh
lda *__r0
psha
lda *__r1
psha
lda *__r2
psha
lda *__r3
psha
lda *__r4
psha
lda *__r5
psha
lda *__r6
psha
lda *__r7
psha
lda *__r8
psha
lda *__r9
psha
lda *__r10
psha
lda *__r11
psha
lda *__rhi
psha
lda *__rlo
psha
ais #-1
tsx
; }
; /*键盘中断处理函数------------------------------------*/
; #pragma interrupt_handler isrKBI
; void isrKBI(void){
; unsigned char KB_valve;
; asm("SEI");
SEI
; INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
bset #1,0x1a
; KB_valve=KB_Scan(); //扫描键值
jsr _KB_Scan
tsx
sta *__r1
sta ,X
; KB_valve=KB_Def(KB_valve); //键值转化为定义值
psha
jsr _KB_Def
ais #1
tsx
sta *__r1
sta ,X
; set(KB_valve);
psha
jsr _set
ais #1
; asm("CLI");
CLI
; KB_Init(); //重新初始化键盘
jsr _KB_Init
tsx
; INTKBSCR&= ~(1<<IntBit); //开放键盘中断(IMASKk=1)
bclr #1,0x1a
L4:
ais #1
.dbline 0 ; func end
pula
sta *__rlo
pula
sta *__rhi
pula
sta *__r11
pula
sta *__r10
pula
sta *__r9
pula
sta *__r8
pula
sta *__r7
pula
sta *__r6
pula
sta *__r5
pula
sta *__r4
pula
sta *__r3
pula
sta *__r2
pula
sta *__r1
pula
sta *__r0
pulh
rti
.area memory(abs)
.org 0xffdc
__vectab::
.word _isrDummy
.word _isrDummy
.word _isrKBI
.word _isrDummy
.word _isrDummy
.word _isrDummy
.word _isrDummy
.word _isrDummy
.word PL_isrTIMER2
.word _isrDummy
.word _isrDummy
.word _isrTIMER1
.word _isrDummy
.word _isrDummy
.word _isrDummy
.word _isrDummy
.word _isrDummy
.area lit
.area func_lit
PL_isrTIMER2: .word _isrTIMER2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -