vectors08.lis

来自「要用到开发工具SD-H08」· LIS 代码 · 共 141 行

LIS
141
字号
                        .module vectors08.c
                        .area text
                ;       KB_valve -> 0,X
 0000           _isrKBI::
 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 A7FF              ais #-1
 002D 95                tsx
 002E           ; /*-----------------------------------------------------*
 002E           ; *文件名:vectors08.c                                    *
 002E           ; *功  能:用于定义中断矢量表                             *
 002E           ; *-----------------------------------------------------*/
 002E           ; /*[头文件]*/
 002E           ; #include "GP32C.H"        
 002E           ; #include "KB.h"           
 002E           ; #include "SCI.h"          
 002E           ; /*键盘中断处理函数------------------------------------*/
 002E           ; #pragma interrupt_handler isrKBI
 002E           ; void isrKBI(void) 
 002E           ; {
 002E           ;        unsigned char KB_valve;
 002E           ;        asm("SEI");                    //关总中断
 002E 9B                SEI
 002F           ;         INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
 002F 121A              bset #1,0x1a
 0031           ;         KB_valve=KB_Scan();     //扫描键值
 0031 CD0000            jsr _KB_Scan
 0034 95                tsx
 0035 B700              sta *__r1
 0037 F7                sta ,X
 0038           ;       KB_valve=KB_Def(KB_valve);  //键值转化为定义值
 0038 87                psha
 0039 CD0000            jsr _KB_Def
 003C A701              ais #1
 003E 95                tsx
 003F B700              sta *__r1
 0041 F7                sta ,X
 0042           ;       SCISend1(KB_valve);
 0042 87                psha
 0043 CD0000            jsr _SCISend1
 0046 A701              ais #1
 0048           ;         KB_Init();                         //重新初始化键盘
 0048 CD0000            jsr _KB_Init
 004B 95                tsx
 004C           ;         INTKBSCR&= ~(1<<IntBit); //打开键盘中断(IMASKK=0)
 004C 131A              bclr #1,0x1a
 004E           ;        asm("CLI");                         //开总中断
 004E 9A                CLI
 004F           L1:
 004F A701              ais #1
 0051                   .dbline 0 ; func end
 0051 86                pula
 0052 B700              sta *__rlo
 0054 86                pula
 0055 B700              sta *__rhi
 0057 86                pula
 0058 B700              sta *__r11
 005A 86                pula
 005B B700              sta *__r10
 005D 86                pula
 005E B700              sta *__r9
 0060 86                pula
 0061 B700              sta *__r8
 0063 86                pula
 0064 B700              sta *__r7
 0066 86                pula
 0067 B700              sta *__r6
 0069 86                pula
 006A B700              sta *__r5
 006C 86                pula
 006D B700              sta *__r4
 006F 86                pula
 0070 B700              sta *__r3
 0072 86                pula
 0073 B700              sta *__r2
 0075 86                pula
 0076 B700              sta *__r1
 0078 86                pula
 0079 B700              sta *__r0
 007B 8A                pulh
 007C 80                rti
 007D           _isrDummy::
 007D 8B                pshh
 007E           ; }
 007E           ; //未定义的中断处理函数,本函数不能删除
 007E           ; #pragma interrupt_handler isrDummy  
 007E           ; void isrDummy(void) 
 007E           ;   {
 007E           L2:
 007E                   .dbline 0 ; func end
 007E 8A                pulh
 007F 80                rti
                        .area memory(abs)
                        .org 0xffdc
 FFDC           __vectab::
 FFDC 007D              .word _isrDummy
 FFDE 007D              .word _isrDummy
 FFE0 0000              .word _isrKBI
 FFE2 007D              .word _isrDummy
 FFE4 007D              .word _isrDummy
 FFE6 007D              .word _isrDummy
 FFE8 007D              .word _isrDummy
 FFEA 007D              .word _isrDummy
 FFEC 007D              .word _isrDummy
 FFEE 007D              .word _isrDummy
 FFF0 007D              .word _isrDummy
 FFF2 007D              .word _isrDummy
 FFF4 007D              .word _isrDummy
 FFF6 007D              .word _isrDummy
 FFF8 007D              .word _isrDummy
 FFFA 007D              .word _isrDummy
 FFFC 007D              .word _isrDummy
                        .area lit

⌨️ 快捷键说明

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