⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.lst

📁 飞思卡尔的键盘中断源代码,C语言写的,很不错的
💻 LST
字号:
NO DEBUG INFORMATION AVAILABLE!
__text_start:
__start:
    8021 45 0240      ldHX	#0x0240
    8024 94           tXS	
    8025 CD 8061      jsr	__HC08Setup
    8028 45 004E      ldHX	#0x004E
    802B 65 004E      cpHX	#0x004E
    802E 27 06        beq	0x8036
    8030 6F 00        clr	0,X
    8032 AF 01        aiX	#1
    8034 20 F5        bra	0x802B
    8036 45 004F      ldHX	#0x004F
    8039 94           tXS	
    803A 45 8021      ldHX	#0x8021
    803D 65 8021      cpHX	#0x8021
    8040 27 0B        beq	0x804D
    8042 E6 00        ldA	0,X
    8044 9EE7 00      stA	0,S
    8047 AF 01        aiX	#1
    8049 A7 01        aiS	#1
    804B 20 F0        bra	0x803D
    804D 45 0240      ldHX	#0x0240
    8050 94           tXS	
    8051 CD 8056      jsr	_main
_exit:
    8054 20 FE        bra	0x8054
_main:
    8056 9B           seI	
    8057 CD 8220      jsr	_KB_Init
    805A 95           tSX	
    805B 13 1A        Bclr	1,0x1A
    805D 9A           clI	
    805E 20 FE        bra	0x805E
    8060 81           rts	
__HC08Setup:
    8061 A6 01        ldA	#1
    8063 B7 1E        stA	0x1E
    8065 A6 3D        ldA	#61
    8067 B7 1F        stA	0x1F
    8069 3F 36        clr	0x36
    806B A6 01        ldA	#1
    806D B7 36        stA	0x36
    806F A6 01        ldA	#1
    8071 B7 38        stA	0x38
    8073 A6 2C        ldA	#44
    8075 B7 39        stA	0x39
    8077 A6 80        ldA	#-128
    8079 B7 3A        stA	0x3A
    807B A6 01        ldA	#1
    807D B7 3B        stA	0x3B
    807F 1A 36        Bset	5,0x36
    8081 1E 37        Bset	7,0x37
    8083 18 36        Bset	4,0x36
    8085 81           rts	
_isrKBI:
    8086 8B           pshH	
    8087 B6 40        ldA	*__r0
    8089 87           pshA	
    808A B6 41        ldA	*__r1
    808C 87           pshA	
    808D B6 42        ldA	*__r2
    808F 87           pshA	
    8090 B6 43        ldA	*__r3
    8092 87           pshA	
    8093 B6 44        ldA	*__r4
    8095 87           pshA	
    8096 B6 45        ldA	*__r5
    8098 87           pshA	
    8099 B6 46        ldA	*__r6
    809B 87           pshA	
    809C B6 47        ldA	*__r7
    809E 87           pshA	
    809F B6 48        ldA	*__r8
    80A1 87           pshA	
    80A2 B6 49        ldA	*__r9
    80A4 87           pshA	
    80A5 B6 4A        ldA	*__r10
    80A7 87           pshA	
    80A8 B6 4B        ldA	*__r11
    80AA 87           pshA	
    80AB B6 4C        ldA	*__rhi
    80AD 87           pshA	
    80AE B6 4D        ldA	*__rlo
    80B0 87           pshA	
    80B1 A7 FF        aiS	#-1
    80B3 95           tSX	
    80B4 9B           seI	
    80B5 12 1A        Bset	1,0x1A
    80B7 CD 8246      jsr	_KB_Scan
    80BA 95           tSX	
    80BB B7 41        stA	*__r1
    80BD F7           stA	0,X
    80BE A1 E7        cmp	#-25
    80C0 27 04        beq	0x80C6
    80C2 A1 D7        cmp	#-41
    80C4 26 0A        bne	0x80D0
    80C6 CD 8233      jsr	_KB_doubleInit
    80C9 CD 828D      jsr	_KB_doubleScan
    80CC 95           tSX	
    80CD B7 41        stA	*__r1
    80CF F7           stA	0,X
    80D0 F6           ldA	0,X
    80D1 87           pshA	
    80D2 CD 8121      jsr	_SCISend1
    80D5 A7 01        aiS	#1
    80D7 95           tSX	
    80D8 F6           ldA	0,X
    80D9 87           pshA	
    80DA CD 82E7      jsr	_KB_Def
    80DD A7 01        aiS	#1
    80DF 95           tSX	
    80E0 B7 41        stA	*__r1
    80E2 F7           stA	0,X
    80E3 87           pshA	
    80E4 CD 8121      jsr	_SCISend1
    80E7 A7 01        aiS	#1
    80E9 CD 8220      jsr	_KB_Init
    80EC 95           tSX	
    80ED 13 1A        Bclr	1,0x1A
    80EF 9A           clI	
    80F0 A7 01        aiS	#1
    80F2 86           pulA	
    80F3 B7 4D        stA	*__rlo
    80F5 86           pulA	
    80F6 B7 4C        stA	*__rhi
    80F8 86           pulA	
    80F9 B7 4B        stA	*__r11
    80FB 86           pulA	
    80FC B7 4A        stA	*__r10
    80FE 86           pulA	
    80FF B7 49        stA	*__r9
    8101 86           pulA	
    8102 B7 48        stA	*__r8
    8104 86           pulA	
    8105 B7 47        stA	*__r7
    8107 86           pulA	
    8108 B7 46        stA	*__r6
    810A 86           pulA	
    810B B7 45        stA	*__r5
    810D 86           pulA	
    810E B7 44        stA	*__r4
    8110 86           pulA	
    8111 B7 43        stA	*__r3
    8113 86           pulA	
    8114 B7 42        stA	*__r2
    8116 86           pulA	
    8117 B7 41        stA	*__r1
    8119 86           pulA	
    811A B7 40        stA	*__r0
    811C 8A           pulH	
    811D 80           rti	
_isrDummy:
    811E 8B           pshH	
    811F 8A           pulH	
    8120 80           rti	
_SCISend1:
    8121 95           tSX	
    8122 20 09        bra	0x812D
    8124 0F 1606      BRclr	7,0x16,0x812D
    8127 E6 02        ldA	2,X
    8129 B7 18        stA	0x18
    812B 20 02        bra	0x812F
    812D 20 F5        bra	0x8124
    812F 81           rts	
_SCISendN:
    8130 A7 FE        aiS	#-2
    8132 95           tSX	
    8133 6F 01        clr	1,X
    8135 7F           clr	0,X
    8136 20 1F        bra	0x8157
    8138 E6 01        ldA	1,X
    813A EB 06        add	6,X
    813C B7 41        stA	*__r1
    813E F6           ldA	0,X
    813F E9 05        adc	5,X
    8141 B7 40        stA	*__r0
    8143 55 40        ldHX	*__r0
    8145 F6           ldA	0,X
    8146 87           pshA	
    8147 CD 8121      jsr	_SCISend1
    814A A7 01        aiS	#1
    814C 95           tSX	
    814D E6 01        ldA	1,X
    814F AB 01        add	#1
    8151 E7 01        stA	1,X
    8153 F6           ldA	0,X
    8154 A9 00        adc	#0
    8156 F7           stA	0,X
    8157 3F 40        clr	*__r0
    8159 E6 04        ldA	4,X
    815B B7 41        stA	*__r1
    815D E6 01        ldA	1,X
    815F B7 43        stA	*__r3
    8161 F6           ldA	0,X
    8162 B7 42        stA	*__r2
    8164 55 42        ldHX	*__r2
    8166 75 40        cpHX	*__r0
    8168 95           tSX	
    8169 91 CD        blt	0x8138
    816B A7 02        aiS	#2
    816D 81           rts	
_SCIRe1:
    816E A7 FD        aiS	#-3
    8170 95           tSX	
    8171 6F 02        clr	2,X
    8173 6F 01        clr	1,X
    8175 20 21        bra	0x8198
    8177 0B 1612      BRclr	5,0x16,0x818C
    817A B6 18        ldA	0x18
    817C F7           stA	0,X
    817D E6 06        ldA	6,X
    817F B7 41        stA	*__r1
    8181 E6 05        ldA	5,X
    8183 B7 40        stA	*__r0
    8185 4F           clrA	
    8186 55 40        ldHX	*__r0
    8188 F7           stA	0,X
    8189 95           tSX	
    818A 20 1C        bra	0x81A8
    818C E6 02        ldA	2,X
    818E AB 01        add	#1
    8190 E7 02        stA	2,X
    8192 E6 01        ldA	1,X
    8194 A9 00        adc	#0
    8196 E7 01        stA	1,X
    8198 E6 02        ldA	2,X
    819A B7 41        stA	*__r1
    819C E6 01        ldA	1,X
    819E B7 40        stA	*__r0
    81A0 55 40        ldHX	*__r0
    81A2 65 FBBB      cpHX	#0xFBBB
    81A5 95           tSX	
    81A6 25 CF        bcs	0x8177
    81A8 E6 02        ldA	2,X
    81AA B7 41        stA	*__r1
    81AC E6 01        ldA	1,X
    81AE B7 40        stA	*__r0
    81B0 55 40        ldHX	*__r0
    81B2 65 FBBB      cpHX	#0xFBBB
    81B5 95           tSX	
    81B6 25 11        bcs	0x81C9
    81B8 A6 FF        ldA	#-1
    81BA F7           stA	0,X
    81BB E6 06        ldA	6,X
    81BD B7 41        stA	*__r1
    81BF E6 05        ldA	5,X
    81C1 B7 40        stA	*__r0
    81C3 A6 01        ldA	#1
    81C5 55 40        ldHX	*__r0
    81C7 F7           stA	0,X
    81C8 95           tSX	
    81C9 F6           ldA	0,X
    81CA A7 03        aiS	#3
    81CC 81           rts	
_SCIReN:
    81CD A7 FD        aiS	#-3
    81CF 95           tSX	
    81D0 6F 02        clr	2,X
    81D2 6F 01        clr	1,X
    81D4 20 31        bra	0x8207
    81D6 89           pshX	
    81D7 8B           pshH	
    81D8 CD 816E      jsr	_SCIRe1
    81DB A7 02        aiS	#2
    81DD 95           tSX	
    81DE B7 41        stA	*__r1
    81E0 E6 02        ldA	2,X
    81E2 EB 07        add	7,X
    81E4 B7 43        stA	*__r3
    81E6 E6 01        ldA	1,X
    81E8 E9 06        adc	6,X
    81EA B7 42        stA	*__r2
    81EC B6 41        ldA	*__r1
    81EE 55 42        ldHX	*__r2
    81F0 F7           stA	0,X
    81F1 95           tSX	
    81F2 F6           ldA	0,X
    81F3 A1 01        cmp	#1
    81F5 26 04        bne	0x81FB
    81F7 A6 01        ldA	#1
    81F9 20 22        bra	0x821D
    81FB E6 02        ldA	2,X
    81FD AB 01        add	#1
    81FF E7 02        stA	2,X
    8201 E6 01        ldA	1,X
    8203 A9 00        adc	#0
    8205 E7 01        stA	1,X
    8207 3F 40        clr	*__r0
    8209 E6 05        ldA	5,X
    820B B7 41        stA	*__r1
    820D E6 02        ldA	2,X
    820F B7 43        stA	*__r3
    8211 E6 01        ldA	1,X
    8213 B7 42        stA	*__r2
    8215 55 42        ldHX	*__r2
    8217 75 40        cpHX	*__r0
    8219 95           tSX	
    821A 91 BA        blt	0x81D6
    821C 4F           clrA	
    821D A7 03        aiS	#3
    821F 81           rts	
_KB_Init:
    8220 3F 00        clr	0x00
    8222 A6 0F        ldA	#15
    8224 B7 04        stA	0x04
    8226 A6 F0        ldA	#-16
    8228 B7 0D        stA	0x0D
    822A 12 1A        Bset	1,0x1A
    822C A6 F0        ldA	#-16
    822E B7 1B        stA	0x1B
    8230 14 1A        Bset	2,0x1A
    8232 81           rts	
_KB_doubleInit:
    8233 3F 00        clr	0x00
    8235 A6 F0        ldA	#-16
    8237 B7 04        stA	0x04
    8239 A6 0F        ldA	#15
    823B B7 0D        stA	0x0D
    823D 12 1A        Bset	1,0x1A
    823F A6 F0        ldA	#-16
    8241 B7 1B        stA	0x1B
    8243 14 1A        Bset	2,0x1A
    8245 81           rts	
_KB_Scan:
    8246 A7 FD        aiS	#-3
    8248 95           tSX	
    8249 A6 FE        ldA	#-2
    824B F7           stA	0,X
    824C A6 01        ldA	#1
    824E E7 01        stA	1,X
    8250 20 26        bra	0x8278
    8252 B6 00        ldA	0x00
    8254 E7 02        stA	2,X
    8256 AA 0F        orA	#15
    8258 E7 02        stA	2,X
    825A F4           and	0,X
    825B B7 00        stA	0x00
    825D 9D           nop	
    825E 9D           nop	
    825F B6 00        ldA	0x00
    8261 E7 02        stA	2,X
    8263 A4 F0        and	#-16
    8265 E7 02        stA	2,X
    8267 A1 F0        cmp	#-16
    8269 27 06        beq	0x8271
    826B B6 00        ldA	0x00
    826D E7 02        stA	2,X
    826F 20 0D        bra	0x827E
    8271 F6           ldA	0,X
    8272 48           lslA	
    8273 AA 01        orA	#1
    8275 F7           stA	0,X
    8276 6C 01        inc	1,X
    8278 E6 01        ldA	1,X
    827A A1 04        cmp	#4
    827C 23 D4        bls	0x8252
    827E E6 01        ldA	1,X
    8280 A1 05        cmp	#5
    8282 26 04        bne	0x8288
    8284 A6 FF        ldA	#-1
    8286 E7 02        stA	2,X
    8288 E6 02        ldA	2,X
    828A A7 03        aiS	#3
    828C 81           rts	
_KB_doubleScan:
    828D A7 FC        aiS	#-4
    828F 95           tSX	
    8290 CD 8246      jsr	_KB_Scan
    8293 95           tSX	
    8294 B7 41        stA	*__r1
    8296 F7           stA	0,X
    8297 A1 E7        cmp	#-25
    8299 27 04        beq	0x829F
    829B A1 D7        cmp	#-41
    829D 26 45        bne	0x82E4
    829F A6 7F        ldA	#127
    82A1 E7 01        stA	1,X
    82A3 A6 01        ldA	#1
    82A5 E7 02        stA	2,X
    82A7 20 29        bra	0x82D2
    82A9 B6 00        ldA	0x00
    82AB E7 03        stA	3,X
    82AD AA F0        orA	#-16
    82AF E7 03        stA	3,X
    82B1 E4 01        and	1,X
    82B3 B7 00        stA	0x00
    82B5 9D           nop	
    82B6 9D           nop	
    82B7 B6 00        ldA	0x00
    82B9 E7 03        stA	3,X
    82BB A1 E7        cmp	#-25
    82BD 26 04        bne	0x82C3
    82BF A1 D7        cmp	#-41
    82C1 27 06        beq	0x82C9
    82C3 B6 00        ldA	0x00
    82C5 E7 03        stA	3,X
    82C7 20 0F        bra	0x82D8
    82C9 E6 01        ldA	1,X
    82CB 44           lsrA	
    82CC AA 80        orA	#-128
    82CE E7 01        stA	1,X
    82D0 6C 02        inc	2,X
    82D2 E6 02        ldA	2,X
    82D4 A1 04        cmp	#4
    82D6 23 D1        bls	0x82A9
    82D8 E6 02        ldA	2,X
    82DA A1 05        cmp	#5
    82DC 26 04        bne	0x82E2
    82DE A6 FF        ldA	#-1
    82E0 E7 03        stA	3,X
    82E2 E6 03        ldA	3,X
    82E4 A7 04        aiS	#4
    82E6 81           rts	
_KB_Def:
    82E7 A7 FD        aiS	#-3
    82E9 95           tSX	
    82EA 6F 01        clr	1,X
    82EC 20 3C        bra	0x832A
    82EE 3F 40        clr	*__r0
    82F0 E6 01        ldA	1,X
    82F2 AB 00        add	#0
    82F4 B7 41        stA	*__r1
    82F6 B6 40        ldA	*__r0
    82F8 A9 80        adc	#-128
    82FA B7 40        stA	*__r0
    82FC 55 40        ldHX	*__r0
    82FE F6           ldA	0,X
    82FF 95           tSX	
    8300 E7 02        stA	2,X
    8302 26 05        bne	0x8309
    8304 A6 FF        ldA	#-1
    8306 F7           stA	0,X
    8307 20 23        bra	0x832C
    8309 E6 02        ldA	2,X
    830B E1 05        cmp	5,X
    830D 26 15        bne	0x8324
    830F 3F 40        clr	*__r0
    8311 E6 01        ldA	1,X
    8313 AB 01        add	#1
    8315 B7 41        stA	*__r1
    8317 B6 40        ldA	*__r0
    8319 A9 80        adc	#-128
    831B B7 40        stA	*__r0
    831D 55 40        ldHX	*__r0
    831F F6           ldA	0,X
    8320 95           tSX	
    8321 F7           stA	0,X
    8322 20 08        bra	0x832C
    8324 E6 01        ldA	1,X
    8326 AB 02        add	#2
    8328 E7 01        stA	1,X
    832A 20 C2        bra	0x82EE
    832C F6           ldA	0,X
    832D A7 03        aiS	#3
    832F 81           rts	

⌨️ 快捷键说明

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