?? kbc.lis
字號(hào):
.module kbc.c
.area lit(rom, con, rel)
0000 _unshifted::
0000 0D09 .byte 13,9
0002 0E60 .byte 14,96
0004 1571 .byte 21,'q
0006 1631 .byte 22,49
0008 1A7A .byte 26,'z
000A 1B73 .byte 27,'s
000C 1C61 .byte 28,'a
000E 1D77 .byte 29,'w
0010 1E32 .byte 30,50
0012 2163 .byte 33,'c
0014 2278 .byte 34,'x
0016 2364 .byte 35,'d
0018 2465 .byte 36,'e
001A 2534 .byte 37,52
001C 2633 .byte 38,51
001E 2920 .byte 41,32
0020 2A76 .byte 42,'v
0022 2B66 .byte 43,'f
0024 2C74 .byte 44,'t
0026 2D72 .byte 45,'r
0028 2E35 .byte 46,53
002A 316E .byte 49,'n
002C 3262 .byte 50,'b
002E 3368 .byte 51,'h
0030 3467 .byte 52,'g
0032 3579 .byte 53,'y
0034 3636 .byte 54,54
0036 392C .byte 57,44
0038 3A6D .byte 58,'m
003A 3B6A .byte 59,'j
003C 3C75 .byte 60,'u
003E 3D37 .byte 61,55
0040 3E38 .byte 62,56
0042 412C .byte 'A,44
0044 426B .byte 'B,'k
0046 4369 .byte 'C,'i
0048 446F .byte 'D,'o
004A 4530 .byte 'E,48
004C 4639 .byte 'F,57
004E 492E .byte 'I,46
0050 4A2F .byte 'J,47
0052 4B6C .byte 'K,'l
0054 4C3B .byte 'L,59
0056 4D70 .byte 'M,'p
0058 4E2D .byte 'N,45
005A 5227 .byte 'R,39
005C 545B .byte 'T,91
005E 553D .byte 'U,61
0060 5A0D .byte 'Z,13
0062 5B5D .byte 91,93
0064 5D5C .byte 93,92
0066 613C .byte 'a,60
0068 6608 .byte 'f,8
006A 6931 .byte 'i,49
006C 6B34 .byte 'k,52
006E 6C37 .byte 'l,55
0070 7030 .byte 'p,48
0072 712C .byte 'q,44
0074 7232 .byte 'r,50
0076 7335 .byte 's,53
0078 7436 .byte 't,54
007A 7538 .byte 'u,56
007C 792B .byte 'y,43
007E 7A33 .byte 'z,51
0080 7B2D .byte 123,45
0082 7C2A .byte 124,42
0084 7D39 .byte 125,57
0086 0000 .byte 0,0
0088 .dbfile D:\ICC-AVR\examples.sl\pc_8515/scancodes.h
0088 .dbsym s unshifted _unshifted A[136:68:2]c
0088 _shifted::
0088 0D09 .byte 13,9
008A 0E7E .byte 14,126
008C 1551 .byte 21,'Q
008E 1621 .byte 22,33
0090 1A5A .byte 26,'Z
0092 1B53 .byte 27,'S
0094 1C41 .byte 28,'A
0096 1D57 .byte 29,'W
0098 1E40 .byte 30,64
009A 2143 .byte 33,'C
009C 2258 .byte 34,'X
009E 2344 .byte 35,'D
00A0 2445 .byte 36,'E
00A2 2524 .byte 37,36
00A4 2623 .byte 38,35
00A6 2920 .byte 41,32
00A8 2A56 .byte 42,'V
00AA 2B46 .byte 43,'F
00AC 2C54 .byte 44,'T
00AE 2D52 .byte 45,'R
00B0 2E25 .byte 46,37
00B2 314E .byte 49,'N
00B4 3242 .byte 50,'B
00B6 3348 .byte 51,'H
00B8 3447 .byte 52,'G
00BA 3559 .byte 53,'Y
00BC 365E .byte 54,94
00BE 394C .byte 57,'L
00C0 3A4D .byte 58,'M
00C2 3B4A .byte 59,'J
00C4 3C55 .byte 60,'U
00C6 3D26 .byte 61,38
00C8 3E2A .byte 62,42
00CA 413C .byte 'A,60
00CC 424B .byte 'B,'K
00CE 4349 .byte 'C,'I
00D0 444F .byte 'D,'O
00D2 4529 .byte 'E,41
00D4 4628 .byte 'F,40
00D6 493E .byte 'I,62
00D8 4A3F .byte 'J,63
00DA 4B4C .byte 'K,'L
00DC 4C3A .byte 'L,58
00DE 4D50 .byte 'M,'P
00E0 4E5F .byte 'N,95
00E2 5222 .byte 'R,34
00E4 547B .byte 'T,123
00E6 552B .byte 'U,43
00E8 5A0D .byte 'Z,13
00EA 5B7D .byte 91,125
00EC 5D7C .byte 93,124
00EE 613E .byte 'a,62
00F0 6608 .byte 'f,8
00F2 6931 .byte 'i,49
00F4 6B34 .byte 'k,52
00F6 6C37 .byte 'l,55
00F8 7030 .byte 'p,48
00FA 712C .byte 'q,44
00FC 7232 .byte 'r,50
00FE 7335 .byte 's,53
0100 7436 .byte 't,54
0102 7538 .byte 'u,56
0104 792B .byte 'y,43
0106 7A33 .byte 'z,51
0108 7B2D .byte 123,45
010A 7C2A .byte 124,42
010C 7D39 .byte 125,57
010E 0000 .byte 0,0
0110 .dbsym s shifted _shifted A[136:68:2]c
.area data(ram, con, rel)
0000 .dbfile D:\ICC-AVR\examples.sl\pc_8515/scancodes.h
0000 _input::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile D:\ICC-AVR\examples.sl\pc_8515/scancodes.h
0001 .dbfile D:\ICC-AVR\examples.sl\pc_8515\kbc.c
0001 .dbsym s input _input c
0001 _output::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile D:\ICC-AVR\examples.sl\pc_8515\kbc.c
0002 .dbsym s output _output c
.area text(rom, con, rel)
0000 .dbfile D:\ICC-AVR\examples.sl\pc_8515\kbc.c
0000 .dbfunc s put_kbbuff _put_kbbuff fI
; c -> R16
.even
0000 _put_kbbuff::
0000 .dbline -1
0000 .dbline 14
; #include <io8515.h>
; #include <macros.h>
; #include "pindefs.h"
; #include "scancodes.h"
; #define BUFF_SIZE 64
; //const ascii[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,
; // 0x39,0x41,0x42,0x43,0x44,0x45,0x46};
; unsigned char bitcount;//PC鍵盤數(shù)據(jù)長(zhǎng)度計(jì)數(shù)
; unsigned char kb_buffer[BUFF_SIZE];//鍵盤緩沖區(qū)
; unsigned char input=0;//緩沖區(qū)讀指針
; unsigned char output=0;//緩沖區(qū)寫指針
; //送鍵盤按鍵ASCII碼到鍵盤緩沖區(qū)
; void put_kbbuff(unsigned char c)
; {
0000 .dbline 15
; kb_buffer[input]=c;
0000 80E0 ldi R24,<_kb_buffer
0002 90E0 ldi R25,>_kb_buffer
0004 E0910000 lds R30,_input
0008 FF27 clr R31
000A E80F add R30,R24
000C F91F adc R31,R25
000E 0083 std z+0,R16
0010 .dbline 16
; if (input<(BUFF_SIZE-1))
0010 80910000 lds R24,_input
0014 8F33 cpi R24,63
0016 20F4 brsh L2
0018 .dbline 17
; input++;
0018 8F5F subi R24,255 ; addi 1
001A 80930000 sts _input,R24
001E 03C0 rjmp L3
0020 L2:
0020 .dbline 19
0020 2224 clr R2
0022 20920000 sts _input,R2
0026 L3:
0026 .dbline -2
0026 .dbline 20
; else
; input=0;
; }
0026 L1:
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbsym r c 16 c
0028 .dbfunc s get_char _get_char fI
; temp -> R16
.even
0028 _get_char::
0028 .dbline -1
0028 .dbline 23
; //從鍵盤緩沖區(qū)讀取按鍵的ASCII碼
; unsigned char get_char(void)
; {
0028 .dbline 25
; unsigned char temp;
; if(output==input)
0028 20900000 lds R2,_input
002C 30900100 lds R3,_output
0030 3214 cp R3,R2
0032 11F4 brne L5
0034 .dbline 26
; return 0;
0034 0027 clr R16
0036 13C0 rjmp L4
0038 L5:
0038 .dbline 28
; else
; {
0038 .dbline 29
; temp=kb_buffer[output];
0038 80E0 ldi R24,<_kb_buffer
003A 90E0 ldi R25,>_kb_buffer
003C E0910100 lds R30,_output
0040 FF27 clr R31
0042 E80F add R30,R24
0044 F91F adc R31,R25
0046 0081 ldd R16,z+0
0048 .dbline 30
; if(output<(BUFF_SIZE-1))
0048 80910100 lds R24,_output
004C 8F33 cpi R24,63
004E 20F4 brsh L7
0050 .dbline 31
; {
0050 .dbline 32
; output++;
0050 8F5F subi R24,255 ; addi 1
0052 80930100 sts _output,R24
0056 .dbline 33
; }
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -