📄 vectors08.lis
字号:
.module vectors08.c
.area text
0000 .dbfile vectors08.c
0000 .dbfunc e isrTIMER1 _isrTIMER1 fV
0000 _isrTIMER1::
0000 .dbline -1
0000 8B pshh
0001 B600 lda *__r0
0003 87 psha
0004 B600 lda *__r1
0006 87 psha
0007 B600 lda *__r2
0009 87 psha
000A B600 lda *__r3
000C 87 psha
000D B600 lda *__r4
000F 87 psha
0010 B600 lda *__r5
0012 87 psha
0013 B600 lda *__r6
0015 87 psha
0016 B600 lda *__r7
0018 87 psha
0019 B600 lda *__r8
001B 87 psha
001C B600 lda *__r9
001E 87 psha
001F B600 lda *__r10
0021 87 psha
0022 B600 lda *__r11
0024 87 psha
0025 B600 lda *__rhi
0027 87 psha
0028 B600 lda *__rlo
002A 87 psha
002B .dbline 24
002B ; /*-----------------------------------------------------*
002B ; *文件名:vectors08.c *
002B ; *功 能:用于定义中断矢量表 *
002B ; *-----------------------------------------------------*/
002B ; //[头文件]
002B ; #include "GP32C.H" //包含头文件
002B ; #include "lcd.h" //包含Lcd头文件
002B ; /*[定时器相应寄存器定义]*/
002B ; #define TOFBit 7 //定时器溢出标志位
002B ;
002B ; //变量声明
002B ; //得到焦点的行号
002B ; //extern unsigned char FLine;
002B ; //[外部定义64个字节的Lcd显示缓冲区]
002B ; extern unsigned char LcdShowBuff[];
002B ; extern const INT16U BigNumCode[10][32];
002B ; extern INT8U Num;
002B ; extern unsigned char YNo,XNo;
002B ; extern unsigned int Data;
002B ;
002B ; //定时器1中断处理函数
002B ; #pragma interrupt_handler isrTIMER1
002B ; void isrTIMER1(void)
002B ; {
002B .dbline 25
002B ; asm("SEI"); //关总中断
002B 9B SEI
002C .dbline 28
002C ; //通过实验,把刷新时间间隔置为1/2秒
002C ; //定时刷新Lcd显示缓冲中的数据
002C ; LcdShCh(LcdShowBuff);
002C 450000 ldhx #_LcdShowBuff
002F 89 pshx
0030 8B pshh
0031 CD0000 jsr _LcdShCh
0034 A702 ais #2
0036 .dbline 30
0036 ; //在Lcd上显示自定义32*16点阵的字符
0036 ; LcdShBigNum(YNo,XNo,(INT16U *)BigNumCode,Data);
0036 5500 ldhx *_Data
0038 89 pshx
0039 8B pshh
003A A600 lda #<_BigNumCode
003C 87 psha
003D A600 lda #>_BigNumCode
003F 87 psha
0040 B600 lda *_XNo
0042 87 psha
0043 B600 lda *_YNo
0045 87 psha
0046 CD0000 jsr _LcdShBigNum
0049 A706 ais #6
004B 95 tsx
004C .dbline 34
004C ; //在指定位置显示点
004C ; //LcdShGr1P(31,64);
004C ; //清除定时器溢出标志位
004C ; T1SC&=~(1<<TOFBit);
004C 1F20 bclr #7,0x20
004E .dbline 35
004E ; asm("CLI"); //开总中断
004E 9A CLI
004F .dbline -2
004F L1:
004F .dbline 0 ; func end
004F 86 pula
0050 B700 sta *__rlo
0052 86 pula
0053 B700 sta *__rhi
0055 86 pula
0056 B700 sta *__r11
0058 86 pula
0059 B700 sta *__r10
005B 86 pula
005C B700 sta *__r9
005E 86 pula
005F B700 sta *__r8
0061 86 pula
0062 B700 sta *__r7
0064 86 pula
0065 B700 sta *__r6
0067 86 pula
0068 B700 sta *__r5
006A 86 pula
006B B700 sta *__r4
006D 86 pula
006E B700 sta *__r3
0070 86 pula
0071 B700 sta *__r2
0073 86 pula
0074 B700 sta *__r1
0076 86 pula
0077 B700 sta *__r0
0079 8A pulh
007A 80 rti
007B .dbend
007B .dbfunc e isrDummy _isrDummy fV
007B _isrDummy::
007B .dbline -1
007B 8B pshh
007C .dbline 41
007C ; }
007C ;
007C ; //未定义的中断处理函数,本函数不能删除
007C ; #pragma interrupt_handler isrDummy
007C ; void isrDummy(void)
007C ; {
007C .dbline -2
007C L2:
007C .dbline 0 ; func end
007C 8A pulh
007D 80 rti
007E .dbend
.area memory(abs)
.org 0xffdc
FFDC .dbfile vectors08.c
FFDC __vectab::
FFDC 007B .word _isrDummy
FFDE 007B .word _isrDummy
FFE0 007B .word _isrDummy
FFE2 007B .word _isrDummy
FFE4 007B .word _isrDummy
FFE6 007B .word _isrDummy
FFE8 007B .word _isrDummy
FFEA 007B .word _isrDummy
FFEC 007B .word _isrDummy
FFEE 007B .word _isrDummy
FFF0 007B .word _isrDummy
FFF2 0000 .word _isrTIMER1
FFF4 007B .word _isrDummy
FFF6 007B .word _isrDummy
FFF8 007B .word _isrDummy
FFFA 007B .word _isrDummy
FFFC 007B .word _isrDummy
FFFE .dbsym e _vectab __vectab A[34:17]pfV
.area lit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -