                        .module ps2.c
                        .area text(rom, con, rel)
 0000                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
                        .area data(ram, con, rel)
 0000                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0000           _UnShifted::
 0000                   .blkb 2
                        .area idata
 0000 1C61              .byte 28,'a
                        .area data(ram, con, rel)
 0002                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0002                   .blkb 2
                        .area idata
 0002 3262              .byte 50,'b
                        .area data(ram, con, rel)
 0004                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0004                   .blkb 2
                        .area idata
 0004 2163              .byte 33,'c
                        .area data(ram, con, rel)
 0006                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0006                   .blkb 2
                        .area idata
 0006 2364              .byte 35,'d
                        .area data(ram, con, rel)
 0008                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0008                   .blkb 2
                        .area idata
 0008 2465              .byte 36,'e
                        .area data(ram, con, rel)
 000A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 000A                   .blkb 2
                        .area idata
 000A 2B66              .byte 43,'f
                        .area data(ram, con, rel)
 000C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 000C                   .blkb 2
                        .area idata
 000C 3467              .byte 52,'g
                        .area data(ram, con, rel)
 000E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 000E                   .blkb 2
                        .area idata
 000E 3368              .byte 51,'h
                        .area data(ram, con, rel)
 0010                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0010                   .blkb 2
                        .area idata
 0010 4369              .byte 'C,'i
                        .area data(ram, con, rel)
 0012                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0012                   .blkb 2
                        .area idata
 0012 3B6A              .byte 59,'j
                        .area data(ram, con, rel)
 0014                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0014                   .blkb 2
                        .area idata
 0014 426B              .byte 'B,'k
                        .area data(ram, con, rel)
 0016                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0016                   .blkb 2
                        .area idata
 0016 4B6C              .byte 'K,'l
                        .area data(ram, con, rel)
 0018                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0018                   .blkb 2
                        .area idata
 0018 3A6D              .byte 58,'m
                        .area data(ram, con, rel)
 001A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 001A                   .blkb 2
                        .area idata
 001A 316E              .byte 49,'n
                        .area data(ram, con, rel)
 001C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 001C                   .blkb 2
                        .area idata
 001C 446F              .byte 'D,'o
                        .area data(ram, con, rel)
 001E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 001E                   .blkb 2
                        .area idata
 001E 4D70              .byte 'M,'p
                        .area data(ram, con, rel)
 0020                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0020                   .blkb 2
                        .area idata
 0020 1571              .byte 21,'q
                        .area data(ram, con, rel)
 0022                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0022                   .blkb 2
                        .area idata
 0022 2D72              .byte 45,'r
                        .area data(ram, con, rel)
 0024                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0024                   .blkb 2
                        .area idata
 0024 1B73              .byte 27,'s
                        .area data(ram, con, rel)
 0026                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0026                   .blkb 2
                        .area idata
 0026 2C74              .byte 44,'t
                        .area data(ram, con, rel)
 0028                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0028                   .blkb 2
                        .area idata
 0028 3C75              .byte 60,'u
                        .area data(ram, con, rel)
 002A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 002A                   .blkb 2
                        .area idata
 002A 2A76              .byte 42,'v
                        .area data(ram, con, rel)
 002C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 002C                   .blkb 2
                        .area idata
 002C 1D77              .byte 29,'w
                        .area data(ram, con, rel)
 002E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 002E                   .blkb 2
                        .area idata
 002E 2278              .byte 34,'x
                        .area data(ram, con, rel)
 0030                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0030                   .blkb 2
                        .area idata
 0030 3579              .byte 53,'y
                        .area data(ram, con, rel)
 0032                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0032                   .blkb 2
                        .area idata
 0032 1A7A              .byte 26,'z
                        .area data(ram, con, rel)
 0034                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0034                   .blkb 2
                        .area idata
 0034 4530              .byte 'E,48
                        .area data(ram, con, rel)
 0036                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0036                   .blkb 2
                        .area idata
 0036 1631              .byte 22,49
                        .area data(ram, con, rel)
 0038                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0038                   .blkb 2
                        .area idata
 0038 1E32              .byte 30,50
                        .area data(ram, con, rel)
 003A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 003A                   .blkb 2
                        .area idata
 003A 2633              .byte 38,51
                        .area data(ram, con, rel)
 003C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 003C                   .blkb 2
                        .area idata
 003C 2534              .byte 37,52
                        .area data(ram, con, rel)
 003E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 003E                   .blkb 2
                        .area idata
 003E 2E35              .byte 46,53
                        .area data(ram, con, rel)
 0040                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0040                   .blkb 2
                        .area idata
 0040 3636              .byte 54,54
                        .area data(ram, con, rel)
 0042                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0042                   .blkb 2
                        .area idata
 0042 3D37              .byte 61,55
                        .area data(ram, con, rel)
 0044                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0044                   .blkb 2
                        .area idata
 0044 3E38              .byte 62,56
                        .area data(ram, con, rel)
 0046                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0046                   .blkb 2
                        .area idata
 0046 4639              .byte 'F,57
                        .area data(ram, con, rel)
 0048                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0048                   .blkb 2
                        .area idata
 0048 0E60              .byte 14,96
                        .area data(ram, con, rel)
 004A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 004A                   .blkb 2
                        .area idata
 004A 4E2D              .byte 'N,45
                        .area data(ram, con, rel)
 004C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 004C                   .blkb 2
                        .area idata
 004C 553D              .byte 'U,61
                        .area data(ram, con, rel)
 004E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 004E                   .blkb 2
                        .area idata
 004E 5D5C              .byte 93,92
                        .area data(ram, con, rel)
 0050                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0050                   .blkb 2
                        .area idata
 0050 2920              .byte 41,32
                        .area data(ram, con, rel)
 0052                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0052                   .blkb 2
                        .area idata
 0052 545B              .byte 'T,91
                        .area data(ram, con, rel)
 0054                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0054                   .blkb 2
                        .area idata
 0054 5B5D              .byte 91,93
                        .area data(ram, con, rel)
 0056                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0056                   .blkb 2
                        .area idata
 0056 4C3B              .byte 'L,59
                        .area data(ram, con, rel)
 0058                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0058                   .blkb 2
                        .area idata
 0058 5227              .byte 'R,39
                        .area data(ram, con, rel)
 005A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 005A                   .blkb 2
                        .area idata
 005A 412C              .byte 'A,44
                        .area data(ram, con, rel)
 005C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 005C                   .blkb 2
                        .area idata
 005C 492E              .byte 'I,46
                        .area data(ram, con, rel)
 005E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 005E                   .blkb 2
                        .area idata
 005E 4A2F              .byte 'J,47
                        .area data(ram, con, rel)
 0060                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0060                   .blkb 2
                        .area idata
 0060 712E              .byte 'q,46
                        .area data(ram, con, rel)
 0062                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0062                   .blkb 2
                        .area idata
 0062 7030              .byte 'p,48
                        .area data(ram, con, rel)
 0064                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0064                   .blkb 2
                        .area idata
 0064 6931              .byte 'i,49
                        .area data(ram, con, rel)
 0066                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0066                   .blkb 2
                        .area idata
 0066 7232              .byte 'r,50
                        .area data(ram, con, rel)
 0068                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0068                   .blkb 2
                        .area idata
 0068 7A33              .byte 'z,51
                        .area data(ram, con, rel)
 006A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 006A                   .blkb 2
                        .area idata
 006A 6B34              .byte 'k,52
                        .area data(ram, con, rel)
 006C                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 006C                   .blkb 2
                        .area idata
 006C 7335              .byte 's,53
                        .area data(ram, con, rel)
 006E                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 006E                   .blkb 2
                        .area idata
 006E 7436              .byte 't,54
                        .area data(ram, con, rel)
 0070                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0070                   .blkb 2
                        .area idata
 0070 6C37              .byte 'l,55
                        .area data(ram, con, rel)
 0072                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0072                   .blkb 2
                        .area idata
 0072 7538              .byte 'u,56
                        .area data(ram, con, rel)
 0074                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0074                   .blkb 2
                        .area idata
 0074 7D39              .byte 125,57
                        .area data(ram, con, rel)
 0076                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0076                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0076                   .dbsym e UnShifted _UnShifted A[118:59:2]c
 0076           _Shifted::
 0076                   .blkb 2
                        .area idata
 0076 1C41              .byte 28,'A
                        .area data(ram, con, rel)
 0078                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0078                   .blkb 2
                        .area idata
 0078 3242              .byte 50,'B
                        .area data(ram, con, rel)
 007A                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 007A                   .blkb 2
                        .area idata
 007A 2143              .byte 33,'C
                        .area data(ram, con, rel)
 007C                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 007C                   .blkb 2
                        .area idata
 007C 2344              .byte 35,'D
                        .area data(ram, con, rel)
 007E                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 007E                   .blkb 2
                        .area idata
 007E 2445              .byte 36,'E
                        .area data(ram, con, rel)
 0080                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0080                   .blkb 2
                        .area idata
 0080 2B46              .byte 43,'F
                        .area data(ram, con, rel)
 0082                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0082                   .blkb 2
                        .area idata
 0082 3447              .byte 52,'G
                        .area data(ram, con, rel)
 0084                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0084                   .blkb 2
                        .area idata
 0084 3348              .byte 51,'H
                        .area data(ram, con, rel)
 0086                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0086                   .blkb 2
                        .area idata
 0086 4349              .byte 'C,'I
                        .area data(ram, con, rel)
 0088                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0088                   .blkb 2
                        .area idata
 0088 3B4A              .byte 59,'J
                        .area data(ram, con, rel)
 008A                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 008A                   .blkb 2
                        .area idata
 008A 424B              .byte 'B,'K
                        .area data(ram, con, rel)
 008C                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 008C                   .blkb 2
                        .area idata
 008C 4B4C              .byte 'K,'L
                        .area data(ram, con, rel)
 008E                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 008E                   .blkb 2
                        .area idata
 008E 3A4D              .byte 58,'M
                        .area data(ram, con, rel)
 0090                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0090                   .blkb 2
                        .area idata
 0090 314E              .byte 49,'N
                        .area data(ram, con, rel)
 0092                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0092                   .blkb 2
                        .area idata
 0092 444F              .byte 'D,'O
                        .area data(ram, con, rel)
 0094                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0094                   .blkb 2
                        .area idata
 0094 4D50              .byte 'M,'P
                        .area data(ram, con, rel)
 0096                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0096                   .blkb 2
                        .area idata
 0096 1551              .byte 21,'Q
                        .area data(ram, con, rel)
 0098                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 0098                   .blkb 2
                        .area idata
 0098 2D52              .byte 45,'R
                        .area data(ram, con, rel)
 009A                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 009A                   .blkb 2
                        .area idata
 009A 1B53              .byte 27,'S
                        .area data(ram, con, rel)
 009C                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 009C                   .blkb 2
                        .area idata
 009C 2C54              .byte 44,'T
                        .area data(ram, con, rel)
 009E                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 009E                   .blkb 2
                        .area idata
 009E 3C55              .byte 60,'U
                        .area data(ram, con, rel)
 00A0                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00A0                   .blkb 2
                        .area idata
 00A0 2A56              .byte 42,'V
                        .area data(ram, con, rel)
 00A2                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00A2                   .blkb 2
                        .area idata
 00A2 1D57              .byte 29,'W
                        .area data(ram, con, rel)
 00A4                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00A4                   .blkb 2
                        .area idata
 00A4 2258              .byte 34,'X
                        .area data(ram, con, rel)
 00A6                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00A6                   .blkb 2
                        .area idata
 00A6 3559              .byte 53,'Y
                        .area data(ram, con, rel)
 00A8                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00A8                   .blkb 2
                        .area idata
 00A8 1A5A              .byte 26,'Z
                        .area data(ram, con, rel)
 00AA                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00AA                   .blkb 2
                        .area idata
 00AA 4530              .byte 'E,48
                        .area data(ram, con, rel)
 00AC                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00AC                   .blkb 2
                        .area idata
 00AC 1631              .byte 22,49
                        .area data(ram, con, rel)
 00AE                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00AE                   .blkb 2
                        .area idata
 00AE 1E32              .byte 30,50
                        .area data(ram, con, rel)
 00B0                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00B0                   .blkb 2
                        .area idata
 00B0 2633              .byte 38,51
                        .area data(ram, con, rel)
 00B2                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00B2                   .blkb 2
                        .area idata
 00B2 2534              .byte 37,52
                        .area data(ram, con, rel)
 00B4                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00B4                   .blkb 2
                        .area idata
 00B4 2E35              .byte 46,53
                        .area data(ram, con, rel)
 00B6                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00B6                   .blkb 2
                        .area idata
 00B6 3636              .byte 54,54
                        .area data(ram, con, rel)
 00B8                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00B8                   .blkb 2
                        .area idata
 00B8 3D37              .byte 61,55
                        .area data(ram, con, rel)
 00BA                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00BA                   .blkb 2
                        .area idata
 00BA 3E38              .byte 62,56
                        .area data(ram, con, rel)
 00BC                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00BC                   .blkb 2
                        .area idata
 00BC 4639              .byte 'F,57
                        .area data(ram, con, rel)
 00BE                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00BE                   .blkb 2
                        .area idata
 00BE 0E7E              .byte 14,126
                        .area data(ram, con, rel)
 00C0                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00C0                   .blkb 2
                        .area idata
 00C0 4E5F              .byte 'N,95
                        .area data(ram, con, rel)
 00C2                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00C2                   .blkb 2
                        .area idata
 00C2 552B              .byte 'U,43
                        .area data(ram, con, rel)
 00C4                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00C4                   .blkb 2
                        .area idata
 00C4 5D7C              .byte 93,124
                        .area data(ram, con, rel)
 00C6                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00C6                   .blkb 2
                        .area idata
 00C6 2920              .byte 41,32
                        .area data(ram, con, rel)
 00C8                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00C8                   .blkb 2
                        .area idata
 00C8 547B              .byte 'T,123
                        .area data(ram, con, rel)
 00CA                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00CA                   .blkb 2
                        .area idata
 00CA 5B7D              .byte 91,125
                        .area data(ram, con, rel)
 00CC                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00CC                   .blkb 2
                        .area idata
 00CC 4C3A              .byte 'L,58
                        .area data(ram, con, rel)
 00CE                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00CE                   .blkb 2
                        .area idata
 00CE 5222              .byte 'R,34
                        .area data(ram, con, rel)
 00D0                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00D0                   .blkb 2
                        .area idata
 00D0 413C              .byte 'A,60
                        .area data(ram, con, rel)
 00D2                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00D2                   .blkb 2
                        .area idata
 00D2 493E              .byte 'I,62
                        .area data(ram, con, rel)
 00D4                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00D4                   .blkb 2
                        .area idata
 00D4 4A3F              .byte 'J,63
                        .area data(ram, con, rel)
 00D6                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00D6                   .blkb 2
                        .area idata
 00D6 712E              .byte 'q,46
                        .area data(ram, con, rel)
 00D8                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00D8                   .blkb 2
                        .area idata
 00D8 7030              .byte 'p,48
                        .area data(ram, con, rel)
 00DA                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00DA                   .blkb 2
                        .area idata
 00DA 6931              .byte 'i,49
                        .area data(ram, con, rel)
 00DC                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00DC                   .blkb 2
                        .area idata
 00DC 7232              .byte 'r,50
                        .area data(ram, con, rel)
 00DE                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00DE                   .blkb 2
                        .area idata
 00DE 7A33              .byte 'z,51
                        .area data(ram, con, rel)
 00E0                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00E0                   .blkb 2
                        .area idata
 00E0 6B34              .byte 'k,52
                        .area data(ram, con, rel)
 00E2                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00E2                   .blkb 2
                        .area idata
 00E2 7335              .byte 's,53
                        .area data(ram, con, rel)
 00E4                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00E4                   .blkb 2
                        .area idata
 00E4 7436              .byte 't,54
                        .area data(ram, con, rel)
 00E6                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00E6                   .blkb 2
                        .area idata
 00E6 6C37              .byte 'l,55
                        .area data(ram, con, rel)
 00E8                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00E8                   .blkb 2
                        .area idata
 00E8 7538              .byte 'u,56
                        .area data(ram, con, rel)
 00EA                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00EA                   .blkb 2
                        .area idata
 00EA 7D39              .byte 125,57
                        .area data(ram, con, rel)
 00EC                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00EC                   .dbsym e Shifted _Shifted A[118:59:2]c
 00EC           _IntNum::
 00EC                   .blkb 1
                        .area idata
 00EC 00                .byte 0
                        .area data(ram, con, rel)
 00ED                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\scancodes.h
 00ED                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 00ED                   .dbsym e IntNum _IntNum c
 00ED           _DisNum::
 00ED                   .blkb 1
                        .area idata
 00ED 00                .byte 0
                        .area data(ram, con, rel)
 00EE                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 00EE                   .dbsym e DisNum _DisNum c
 00EE           _Key_UP::
 00EE                   .blkb 1
                        .area idata
 00EE 00                .byte 0
                        .area data(ram, con, rel)
 00EF                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 00EF                   .dbsym e Key_UP _Key_UP c
 00EF           _Shift::
 00EF                   .blkb 1
                        .area idata
 00EF 00                .byte 0
                        .area data(ram, con, rel)
 00F0                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 00F0                   .dbsym e Shift _Shift c
 00F0           _BF::
 00F0                   .blkb 1
                        .area idata
 00F0 00                .byte 0
                        .area data(ram, con, rel)
 00F1                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 00F1                   .dbsym e BF _BF c
 00F1           _Cls::
 00F1                   .blkb 17
                        .area idata
 00F1 20202020202020202020202020202020  .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
 0101 00                .byte 0
                        .area data(ram, con, rel)
 0102                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0102                   .dbsym e Cls _Cls A[17:17]c
 0102           _model_name::
 0102                   .blkb 15
                        .area idata
 0102 2020505332206B6579626F61726400    .byte 32,32,'P,'S,50,32,'k,'e,'y,'b,'o,'a,'r,'d,0
                        .area data(ram, con, rel)
 0111                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0111                   .dbsym e model_name _model_name A[15:15]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0000                   .dbfunc e Delay5Ms _Delay5Ms fV
 0000           ;        TempCyc -> R16,R17
                        .even
 0000           _Delay5Ms::
 0000                   .dbline -1
 0000                   .dbline 70
 0000           ; 
 0000           ; /********************************************************
 0000           ; ÊµÑé:   PS2¼üÅÌÊµÑé
 0000           ; ËµÃ÷:   °´PS2¼üÅÌÉÏµÄ°´¼ü,LCD1602ÏÔÊ¾PS2¼üÅÌµÄ¼üÂë      
 0000           ;           
 0000           ; CPUÐÍºÅ:   ATMEGA128A
 0000           ; ¾§ÕñÆµÂÊ:     8MHZ
 0000           ; ÈÕÆÚ£º    2011-3-12
 0000           ; ÁªÏµ·½·¨: MCU.2000@163.com 
 0000           ;  ********************************************************/
 0000           ; #include<iom128v.h>
 0000           ; #include<macros.h> 
 0000           ; #include"scancodes.h" 
 0000           ; #define uchar unsigned char 
 0000           ; #define uint  unsigned int  
 0000           ; 
 0000           ; //************************************************** 
 0000           ; //*****************LCD 1602Òý½Å¶¨Òå**************** 
 0000           ; //************************************************** 
 0000           ; #define  LCD_DATA_PORT    PORTA         //¶¨ÒåLCDµÄD0-D7ËùÔÚ¶Ë¿Ú
 0000           ; #define  LCD_DATA_POUT    DDRA=0xFF     //¶¨ÒåLCDÊý¾Ý¶Ë¿ÚÎªÊä³ö
 0000           ; #define  LCD_DATA_PIN     DDRA=0x00     //¶¨ÒåLCDÊý¾Ý¶Ë¿ÚÎªÊäÈë(ÔÚ¶ÁLCD×´Ì¬Ê±ÓÃµ½)
 0000           ; 
 0000           ; #define  LCD_BUSY         PINA & 0X80
 0000           ; 
 0000           ; #define  LCD_Control_PORT  PORTB        //¶¨ÒåLCDµÄEN RW RSËùÔÚ¶Ë¿Ú·½±ãºóÃæ²Ù×÷
 0000           ; #define  LCD_Control_POUT  DDRB|=(BIT(5)+BIT(6)+BIT(7))
 0000           ; #define  LCD_Control_PIN   DDRB&=~(BIT(5)+BIT(6)+BIT(7))
 0000           ; 
 0000           ; #define  LCD_EN_1         PORTB|=BIT(7)
 0000           ; #define  LCD_EN_0         PORTB&=~BIT(7)
 0000           ; //LCD¶ÁÐ´¿ØÖÆÒý½Å
 0000           ; #define  LCD_RW_1         PORTB|=BIT(6)
 0000           ; #define  LCD_RW_0         PORTB&=~BIT(6)
 0000           ; //LCDÖ¸Áî»òÊý¾ÝÑ¡ÔñÒý½Å
 0000           ; #define  LCD_RS_1         PORTB|=BIT(5)
 0000           ; #define  LCD_RS_0         PORTB&=~BIT(5)
 0000           ; 
 0000           ; #define  PS2_CTL_PIN      DDRD &=~(BIT(2)+BIT(3))
 0000           ; 
 0000           ; //************************************************** 
 0000           ; //******************PS2¼üÅÌÒý½Å¶¨Òå**************** 
 0000           ; //************************************************** 
 0000           ; #define PS2_DAT_1     PORTD|=BIT(2);
 0000           ; #define PS2_CLK_1     PORTD|=BIT(3);
 0000           ;                              
 0000           ; //************************************************** 
 0000           ; //******************¶¨Òå±äÁ¿*********************** 
 0000           ; //************************************************** 
 0000           ; uchar IntNum = 0;     //ÖÐ¶Ï´ÎÊý¼ÆÊý 
 0000           ; uchar KeyV;           //¼üÖµ 
 0000           ; uchar DisNum = 0;     //ÏÔÊ¾ÓÃÖ¸Õë 
 0000           ; uchar Key_UP = 0;     //Key_UPÊÇ¼üËÉ¿ª±êÊ¶ 
 0000           ; uchar Shift = 0;      //ShiftÊÇShift¼ü°´ÏÂ±êÊ¶ 
 0000           ; uchar BF = 0;         //±êÊ¶ÊÇ·ñÓÐ×Ö·û±»ÊÕµ½ 
 0000           ; 
 0000           ; //ÓÃÓÚÇåÆÁ
 0000           ; const uchar Cls[] = {"                "}; 
 0000           ; //²úÆ·±àºÅ
 0000           ; const uchar model_name[] = {"  PS2 keyboard"}; 
 0000           ; 
 0000           ; //*********************************************** 
 0000           ; //º¯ Êý Ãû£ºDelay5Ms(); 
 0000           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 0000           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 0000           ; //º¯Êý×÷ÓÃ£º5ºÁÃëÑÓÊ±º¯Êý 
 0000           ; //Ëµ    Ã÷£º 
 0000           ; //*********************************************** 
 0000           ; void Delay5Ms(void) 
 0000           ; {         
 0000                   .dbline 71
 0000           ;      uint TempCyc = 5552;         
 0000 00EB              ldi R16,5552
 0002 15E1              ldi R17,21
 0004           L2:
 0004                   .dbline 72
 0004           ;      while(TempCyc--){;} 
 0004                   .dbline 72
 0004                   .dbline 72
 0004           L3:
 0004                   .dbline 72
 0004 1801              movw R2,R16
 0006 0150              subi R16,1
 0008 1040              sbci R17,0
 000A 2220              tst R2
 000C D9F7              brne L2
 000E 3320              tst R3
 0010 C9F7              brne L2
 0012           X0:
 0012                   .dbline -2
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r TempCyc 16 i
 0014                   .dbend
 0014                   .dbfunc e Delay400Ms _Delay400Ms fV
 0014           ;       TempCycA -> R16
 0014           ;       TempCycB -> R18,R19
                        .even
 0014           _Delay400Ms::
 0014                   .dbline -1
 0014                   .dbline 83
 0014           ; } 
 0014           ; 
 0014           ; //*********************************************** 
 0014           ; //º¯ Êý Ãû£ºDelay400Ms(); 
 0014           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 0014           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 0014           ; //º¯Êý×÷ÓÃ£º400ºÁÃëÑÓÊ±º¯Êý 
 0014           ; //Ëµ    Ã÷£º 
 0014           ; //*********************************************** 
 0014           ; void Delay400Ms(void) 
 0014           ; {         
 0014                   .dbline 84
 0014           ;      uchar TempCycA = 5;         
 0014 05E0              ldi R16,5
 0016 09C0              xjmp L7
 0018           L6:
 0018                   .dbline 87
 0018           ;      uint TempCycB;         
 0018           ;      while(TempCycA--)         
 0018           ;      {                 
 0018                   .dbline 88
 0018           ;         TempCycB=7269;                 
 0018 25E6              ldi R18,7269
 001A 3CE1              ldi R19,28
 001C           L9:
 001C                   .dbline 89
 001C           ;         while(TempCycB--){;}     
 001C                   .dbline 89
 001C                   .dbline 89
 001C           L10:
 001C                   .dbline 89
 001C 1901              movw R2,R18
 001E 2150              subi R18,1
 0020 3040              sbci R19,0
 0022 2220              tst R2
 0024 D9F7              brne L9
 0026 3320              tst R3
 0028 C9F7              brne L9
 002A           X1:
 002A                   .dbline 90
 002A           ;      } 
 002A           L7:
 002A                   .dbline 86
 002A 202E              mov R2,R16
 002C 3324              clr R3
 002E 0150              subi R16,1
 0030 2220              tst R2
 0032 91F7              brne L6
 0034           X2:
 0034                   .dbline -2
 0034           L5:
 0034                   .dbline 0 ; func end
 0034 0895              ret
 0036                   .dbsym r TempCycA 16 c
 0036                   .dbsym r TempCycB 18 i
 0036                   .dbend
 0036                   .dbfunc e check_busy _check_busy fV
                        .even
 0036           _check_busy::
 0036                   .dbline -1
 0036                   .dbline 101
 0036           ; } 
 0036           ; 
 0036           ; //*********************************************** 
 0036           ; //º¯ Êý Ãû£ºcheck_busy(); 
 0036           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 0036           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 0036           ; //º¯Êý×÷ÓÃ£ºLCD¶ÁÃ¦º¯Êý 
 0036           ; //Ëµ    Ã÷£º 
 0036           ; //*********************************************** 
 0036           ; void check_busy(void) 
 0036           ; {         
 0036                   .dbline 102
 0036           ;      LCD_DATA_PIN;    
 0036 2224              clr R2
 0038 2ABA              out 0x1a,R2
 003A                   .dbline 103
 003A           ;      LCD_RS_0;               //ÉèÖÃÎªÖ¸Áî 
 003A C598              cbi 0x18,5
 003C                   .dbline 104
 003C           ;      LCD_RW_1;               //ÉèÖÃÎª¶ÁÖ¸Áî 
 003C C69A              sbi 0x18,6
 003E 05C0              xjmp L14
 0040           L13:
 0040                   .dbline 106
 0040           ;      while(1)                   
 0040           ;      { 
 0040                   .dbline 107
 0040           ;          LCD_EN_1;           //Ê¹ÄÜLCD     
 0040 C79A              sbi 0x18,7
 0042                   .dbline 108
 0042           ;          if(LCD_BUSY){break;} //PA7ÎªÁã£¬ËµÃ÷ËùÓÐ²Ù×÷ÒÑÍê³ÉÔòÊÇ²»Ã¦×´Ì¬     
 0042 CF9B              sbis 0x19,7
 0044 01C0              rjmp L16
 0046           X3:
 0046                   .dbline 108
 0046                   .dbline 108
 0046 02C0              xjmp L15
 0048           L16:
 0048                   .dbline 109
 0048           ;          LCD_EN_0;           //½ûÖ¹LCD    
 0048 C798              cbi 0x18,7
 004A                   .dbline 110
 004A           ;      } 
 004A           L14:
 004A                   .dbline 105
 004A FACF              xjmp L13
 004C           L15:
 004C                   .dbline 111
 004C           ;      LCD_EN_0;               //½ûÖ¹LCD       
 004C C798              cbi 0x18,7
 004E                   .dbline 112
 004E           ;      LCD_DATA_POUT;            //ÉèÖÃRA¿ÚÎªÊä³ö¿Ú                            
 004E 8FEF              ldi R24,255
 0050 8ABB              out 0x1a,R24
 0052                   .dbline -2
 0052           L12:
 0052                   .dbline 0 ; func end
 0052 0895              ret
 0054                   .dbend
 0054                   .dbfunc e WriteDataLCM _WriteDataLCM fV
 0054           ;           data -> R10
                        .even
 0054           _WriteDataLCM::
 0054 AA92              st -y,R10
 0056 A02E              mov R10,R16
 0058                   .dbline -1
 0058                   .dbline 123
 0058           ; } 
 0058           ; 
 0058           ; //*********************************************** 
 0058           ; //º¯ Êý Ãû£ºWriteDataLCM(uchar data); 
 0058           ; //Èë¿Ú²ÎÊý£ºdata 
 0058           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 0058           ; //º¯Êý×÷ÓÃ£ºÐ´LCDµ¥¸öÊý¾Ýº¯Êý 
 0058           ; //Ëµ    Ã÷£º 
 0058           ; //*********************************************** 
 0058           ; void WriteDataLCM(uchar data) 
 0058           ; {         
 0058                   .dbline 124
 0058           ;      check_busy();          //µÈ´ýÃ¦±êÖ¾½áÊø                  
 0058 EEDF              xcall _check_busy
 005A                   .dbline 125
 005A           ;      LCD_RS_1 ;             //ÉèÖÃÎªÊý¾Ý  
 005A C59A              sbi 0x18,5
 005C                   .dbline 126
 005C           ;      LCD_RW_0;              //ÉèÖÃÎªÐ´Ö¸Áî 
 005C C698              cbi 0x18,6
 005E                   .dbline 127
 005E           ;      LCD_EN_1;              //Ê¹ÄÜLCD   
 005E C79A              sbi 0x18,7
 0060                   .dbline 128
 0060           ;        Delay5Ms();
 0060 CFDF              xcall _Delay5Ms
 0062                   .dbline 129
 0062           ;      LCD_DATA_PORT = data;  //Ð´Êý¾Ýµ½RA¶Ë¿Ú  
 0062 ABBA              out 0x1b,R10
 0064                   .dbline 130
 0064           ;        Delay5Ms();     
 0064 CDDF              xcall _Delay5Ms
 0066                   .dbline 131
 0066           ;      LCD_EN_0;              //½ûÖ¹LCD            
 0066 C798              cbi 0x18,7
 0068                   .dbline -2
 0068           L18:
 0068                   .dbline 0 ; func end
 0068 A990              ld R10,y+
 006A 0895              ret
 006C                   .dbsym r data 10 c
 006C                   .dbend
 006C                   .dbfunc e WriteCommandLCM _WriteCommandLCM fV
 006C           ;        command -> R10
                        .even
 006C           _WriteCommandLCM::
 006C AA92              st -y,R10
 006E A02E              mov R10,R16
 0070                   .dbline -1
 0070                   .dbline 142
 0070           ; } 
 0070           ; 
 0070           ; //*********************************************** 
 0070           ; //º¯ Êý Ãû£ºWriteCommandLCM(uchar command); 
 0070           ; //Èë¿Ú²ÎÊý£ºWDLCM£¬BuysC 
 0070           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 0070           ; //º¯Êý×÷ÓÃ£ºÐ´LCDÖ¸Áîº¯Êý 
 0070           ; //Ëµ    Ã÷£º 
 0070           ; //*********************************************** 
 0070           ; void WriteCommandLCM(uchar command) 
 0070           ; {         
 0070                   .dbline 143
 0070           ;      check_busy();        //µÈ´ýÃ¦±êÖ¾½áÊø             
 0070 E2DF              xcall _check_busy
 0072                   .dbline 144
 0072           ;      LCD_RS_0;            //ÉèÖÃÎªÖ¸Áî 
 0072 C598              cbi 0x18,5
 0074                   .dbline 145
 0074           ;      LCD_RW_0;            //ÉèÖÃÎªÐ´Ö¸Áî 
 0074 C698              cbi 0x18,6
 0076                   .dbline 146
 0076           ;      LCD_EN_1;            //Ê¹ÄÜLCD 
 0076 C79A              sbi 0x18,7
 0078                   .dbline 147
 0078           ;        Delay5Ms();
 0078 C3DF              xcall _Delay5Ms
 007A                   .dbline 148
 007A           ;      LCD_DATA_PORT= command;  //Ð´Ö¸Áîµ½RA¶Ë¿Ú
 007A ABBA              out 0x1b,R10
 007C                   .dbline 149
 007C           ;        Delay5Ms();   
 007C C1DF              xcall _Delay5Ms
 007E                   .dbline 150
 007E           ;      LCD_EN_0;            //½ûÖ¹LCD   
 007E C798              cbi 0x18,7
 0080                   .dbline -2
 0080           L19:
 0080                   .dbline 0 ; func end
 0080 A990              ld R10,y+
 0082 0895              ret
 0084                   .dbsym r command 10 c
 0084                   .dbend
 0084                   .dbfunc e LCMInit _LCMInit fV
                        .even
 0084           _LCMInit::
 0084                   .dbline -1
 0084                   .dbline 161
 0084           ; } 
 0084           ; 
 0084           ; //*********************************************** 
 0084           ; //º¯ Êý Ãû£ºLCMInit(); 
 0084           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 0084           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 0084           ; //º¯Êý×÷ÓÃ£ºLCD³õÊ¼»¯º¯Êý 
 0084           ; //Ëµ    Ã÷£º 
 0084           ; //*********************************************** 
 0084           ; void LCMInit(void) 
 0084           ; {         
 0084                   .dbline 162
 0084           ;      LCD_DATA_PORT = 0;                        
 0084 2224              clr R2
 0086 2BBA              out 0x1b,R2
 0088                   .dbline 163
 0088           ;      WriteCommandLCM(0x38);    //ÏÔÊ¾Ä£Ê½ÉèÖÃ,¿ªÊ¼ÒªÇóÃ¿´Î¼ì²âÃ¦ÐÅºÅ  
 0088 08E3              ldi R16,56
 008A F0DF              xcall _WriteCommandLCM
 008C                   .dbline 164
 008C           ;        Delay5Ms();       
 008C B9DF              xcall _Delay5Ms
 008E                   .dbline 165
 008E           ;      WriteCommandLCM(0x08);    //¹Ø±ÕÏÔÊ¾         
 008E 08E0              ldi R16,8
 0090 EDDF              xcall _WriteCommandLCM
 0092                   .dbline 166
 0092           ;      Delay5Ms();
 0092 B6DF              xcall _Delay5Ms
 0094                   .dbline 167
 0094           ;        WriteCommandLCM(0x01);    //ÏÔÊ¾ÇåÆÁ         
 0094 01E0              ldi R16,1
 0096 EADF              xcall _WriteCommandLCM
 0098                   .dbline 168
 0098           ;      Delay5Ms();
 0098 B3DF              xcall _Delay5Ms
 009A                   .dbline 169
 009A           ;        WriteCommandLCM(0x06);    //ÏÔÊ¾¹â±êÒÆ¶¯ÉèÖÃ         
 009A 06E0              ldi R16,6
 009C E7DF              xcall _WriteCommandLCM
 009E                   .dbline 170
 009E           ;      Delay5Ms();
 009E B0DF              xcall _Delay5Ms
 00A0                   .dbline 171
 00A0           ;        WriteCommandLCM(0x0F);    //ÏÔÊ¾¿ª¼°¹â±êÉèÖÃ
 00A0 0FE0              ldi R16,15
 00A2 E4DF              xcall _WriteCommandLCM
 00A4                   .dbline 172
 00A4           ;        Delay5Ms(); 
 00A4                   .dbline -2
 00A4           L20:
 00A4                   .dbline 0 ; func end
 00A4 ADCF              xjmp _Delay5Ms
 00A6                   .dbend
 00A6                   .dbfunc e DisplayOneChar _DisplayOneChar fV
 00A6           ;          DData -> R10
 00A6           ;              Y -> R22
 00A6           ;              X -> R20
                        .even
 00A6           _DisplayOneChar::
 00A6 0E940000          xcall push_xgsetF00C
 00AA 622F              mov R22,R18
 00AC 402F              mov R20,R16
 00AE AE80              ldd R10,y+6
 00B0                   .dbline -1
 00B0                   .dbline 183
 00B0           ; } 
 00B0           ; 
 00B0           ; //*********************************************** 
 00B0           ; //º¯ Êý Ãû£ºDisplayOneChar(uchar X, uchar Y, uchar DData); 
 00B0           ; //Èë¿Ú²ÎÊý£ºX, Y, DData 
 00B0           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 00B0           ; //º¯Êý×÷ÓÃ£º°´Ö¸¶¨Î»ÖÃÏÔÊ¾Ò»¸ö×Ö·ûº¯Êý 
 00B0           ; //Ëµ    Ã÷£º 
 00B0           ; //*********************************************** 
 00B0           ; void DisplayOneChar(uchar X, uchar Y, uchar DData) 
 00B0           ; {         
 00B0                   .dbline 184
 00B0           ;      Y &= 0x1;         
 00B0 6170              andi R22,1
 00B2                   .dbline 185
 00B2           ;      X &= 0xF;                //ÏÞÖÆX²»ÄÜ´óÓÚ15£¬Y²»ÄÜ´óÓÚ1         
 00B2 4F70              andi R20,15
 00B4                   .dbline 186
 00B4           ;      if (Y) X |= 0xC0;        //µ±ÒªÏÔÊ¾µÚ¶þÐÐÊ±µØÖ·Âë+0xC0;         
 00B4 6623              tst R22
 00B6 09F0              breq L22
 00B8           X4:
 00B8                   .dbline 186
 00B8 406C              ori R20,192
 00BA           L22:
 00BA                   .dbline 187
 00BA           ;      X |= 0x80;               //Ëã³öÖ¸ÁîÂë         
 00BA 4068              ori R20,128
 00BC                   .dbline 188
 00BC           ;      WriteCommandLCM(X);      //·¢ÃüÁî×Ö
 00BC 042F              mov R16,R20
 00BE D6DF              xcall _WriteCommandLCM
 00C0                   .dbline 189
 00C0           ;        Delay5Ms();         
 00C0 9FDF              xcall _Delay5Ms
 00C2                   .dbline 190
 00C2           ;      WriteDataLCM(DData);     //·¢Êý¾Ý 
 00C2 0A2D              mov R16,R10
 00C4 C7DF              xcall _WriteDataLCM
 00C6                   .dbline -2
 00C6           L21:
 00C6                   .dbline 0 ; func end
 00C6 0C940000          xjmp pop_xgsetF00C
 00CA                   .dbsym r DData 10 c
 00CA                   .dbsym r Y 22 c
 00CA                   .dbsym r X 20 c
 00CA                   .dbend
 00CA                   .dbfunc e DisplayListChar _DisplayListChar fV
 00CA           ;     ListLength -> R10
 00CA           ;          DData -> R12,R13
 00CA           ;              Y -> R22
 00CA           ;              X -> R20
                        .even
 00CA           _DisplayListChar::
 00CA 0E940000          xcall push_xgsetF03C
 00CE 622F              mov R22,R18
 00D0 402F              mov R20,R16
 00D2 2197              sbiw R28,1
 00D4 C984              ldd R12,y+9
 00D6 DA84              ldd R13,y+10
 00D8                   .dbline -1
 00D8                   .dbline 201
 00D8           ; } 
 00D8           ; 
 00D8           ; //*********************************************** 
 00D8           ; //º¯ Êý Ãû£ºDisplayListChar(uchar X, uchar Y, const uchar *DData); 
 00D8           ; //Èë¿Ú²ÎÊý£ºX, Y, *DData 
 00D8           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 00D8           ; //º¯Êý×÷ÓÃ£º°´Ö¸¶¨Î»ÖÃÏÔÊ¾Ò»´®×Ö·ûº¯Êý 
 00D8           ; //Ëµ    Ã÷£º 
 00D8           ; //*********************************************** 
 00D8           ; void DisplayListChar(uchar X, uchar Y, const uchar *DData) 
 00D8           ; {         
 00D8                   .dbline 203
 00D8           ;      uchar ListLength;                 
 00D8           ;      ListLength = 0;         
 00D8 AA24              clr R10
 00DA                   .dbline 204
 00DA           ;      Y &= 0x1;         
 00DA 6170              andi R22,1
 00DC                   .dbline 205
 00DC           ;      X &= 0xF;                                         //ÏÞÖÆX²»ÄÜ´óÓÚ15£¬Y²»ÄÜ´ó ÓÚ1         
 00DC 4F70              andi R20,15
 00DE 0EC0              xjmp L26
 00E0           L25:
 00E0                   .dbline 207
 00E0           ;      while (DData[ListLength]>0x19)                    //Èôµ½´ï×Ö´®Î²ÔòÍË³ö         
 00E0           ;      {                 
 00E0                   .dbline 208
 00E0           ;            if (X <= 0xF)                               //X×ø±êÓ¦Ð¡ÓÚ0xF                 
 00E0 8FE0              ldi R24,15
 00E2 8417              cp R24,R20
 00E4 58F0              brlo L28
 00E6           X5:
 00E6                   .dbline 209
 00E6           ;            {                         
 00E6                   .dbline 210
 00E6           ;            DisplayOneChar(X, Y, DData[ListLength]);    //ÏÔÊ¾µ¥¸ö×Ö·û                        
 00E6 EA2D              mov R30,R10
 00E8 FF27              clr R31
 00EA EC0D              add R30,R12
 00EC FD1D              adc R31,R13
 00EE 2080              ldd R2,z+0
 00F0 2882              std y+0,R2
 00F2 262F              mov R18,R22
 00F4 042F              mov R16,R20
 00F6 D7DF              xcall _DisplayOneChar
 00F8                   .dbline 211
 00F8           ;            ListLength++;                         
 00F8 A394              inc R10
 00FA                   .dbline 212
 00FA           ;            X++;                 
 00FA 4395              inc R20
 00FC                   .dbline 213
 00FC           ;            }         
 00FC           L28:
 00FC                   .dbline 214
 00FC           ;      } 
 00FC           L26:
 00FC                   .dbline 206
 00FC EA2D              mov R30,R10
 00FE FF27              clr R31
 0100 EC0D              add R30,R12
 0102 FD1D              adc R31,R13
 0104 2080              ldd R2,z+0
 0106 89E1              ldi R24,25
 0108 8215              cp R24,R2
 010A 50F3              brlo L25
 010C           X6:
 010C                   .dbline -2
 010C           L24:
 010C                   .dbline 0 ; func end
 010C 2196              adiw R28,1
 010E 0C940000          xjmp pop_xgsetF03C
 0112                   .dbsym r ListLength 10 c
 0112                   .dbsym r DData 12 pc
 0112                   .dbsym r Y 22 c
 0112                   .dbsym r X 20 c
 0112                   .dbend
 0112                   .dbfunc e Decode _Decode fV
 0112           ;        TempCyc -> R20
 0112           ;       ScanCode -> R10
                        .even
 0112           _Decode::
 0112 0E940000          xcall push_xgset300C
 0116 A02E              mov R10,R16
 0118 2297              sbiw R28,2
 011A                   .dbline -1
 011A                   .dbline 227
 011A           ; } 
 011A           ; 
 011A           ; //*********************************************** 
 011A           ; //º¯ Êý Ãû£ºDecode(uchar ScanCode); 
 011A           ; //Èë¿Ú²ÎÊý£ºScanCode 
 011A           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 011A           ; //º¯Êý×÷ÓÃ£º²éÕÒ¼üÅÌ´úÂëº¯Êý 
 011A           ; //Ëµ    Ã÷£ºÈçSHIFT+GÎª12H 34H F0H 34H F0H 12H£¬ 
 011A           ; //          Ò²¾ÍÊÇËµshiftµÄÍ¨Âë+GµÄÍ¨Âë+shiftµÄ 
 011A           ; //          ¶ÏÂë+GµÄ¶ÏÂë 
 011A           ; //*********************************************** 
 011A           ; void Decode(uchar ScanCode) 
 011A           ; {         
 011A                   .dbline 229
 011A           ;      uchar TempCyc;                 
 011A           ;      if (!Key_UP)             //µ±¼üÅÌËÉ¿ªÊ±         
 011A 2090EE00          lds R2,_Key_UP
 011E 2220              tst R2
 0120 09F0              breq X23
 0122 94C0              xjmp L31
 0124           X23:
 0124           X7:
 0124                   .dbline 230
 0124           ;      {                 
 0124                   .dbline 231
 0124           ;            switch (ScanCode)                 
 0124 4A2D              mov R20,R10
 0126 5527              clr R21
 0128 4935              cpi R20,89
 012A E0E0              ldi R30,0
 012C 5E07              cpc R21,R30
 012E B9F0              breq L38
 0130           X8:
 0130 89E5              ldi R24,89
 0132 90E0              ldi R25,0
 0134 8417              cp R24,R20
 0136 9507              cpc R25,R21
 0138 2CF0              brlt L60
 013A           X9:
 013A           L59:
 013A 4231              cpi R20,18
 013C E0E0              ldi R30,0
 013E 5E07              cpc R21,R30
 0140 51F0              breq L37
 0142           X10:
 0142 11C0              xjmp L33
 0144           L60:
 0144 403F              cpi R20,240
 0146 E0E0              ldi R30,0
 0148 5E07              cpc R21,R30
 014A 09F0              breq L36
 014C           X11:
 014C 0CC0              xjmp L33
 014E           L36:
 014E                   .dbline 234
 014E           ;            {                         
 014E           ;                  //µ±ÊÕµ½0xF0£¬Key_UPÖÃ1±íÊ¾¶ÏÂë¿ªÊ¼ 
 014E           ;                  case 0xF0 : Key_UP = 1; break;                             
 014E 81E0              ldi R24,1
 0150 8093EE00          sts _Key_UP,R24
 0154                   .dbline 234
 0154 94C0              xjmp L32
 0156           L37:
 0156                   .dbline 237
 0156           ;                                           
 0156           ;                  //×ó SHIFT                                               
 0156           ;                  case 0x12 : Shift = 1;  break;                            
 0156 81E0              ldi R24,1
 0158 8093EF00          sts _Shift,R24
 015C                   .dbline 237
 015C 90C0              xjmp L32
 015E           L38:
 015E                   .dbline 240
 015E           ;                                                                                                            
 015E           ;                  // ÓÒ SHIFT   
 015E           ;                  case 0x59 : Shift = 1;  break;                           
 015E 81E0              ldi R24,1
 0160 8093EF00          sts _Shift,R24
 0164                   .dbline 240
 0164 8CC0              xjmp L32
 0166           L33:
 0166                   .dbline 243
 0166           ;                                                                                                         
 0166           ;                  default:                         
 0166           ;                  if (DisNum > 15)                         
 0166 8FE0              ldi R24,15
 0168 2090ED00          lds R2,_DisNum
 016C 8215              cp R24,R2
 016E 50F4              brsh L39
 0170           X12:
 0170                   .dbline 244
 0170           ;                  {                                 
 0170                   .dbline 245
 0170           ;                        DisplayListChar(0, 1, Cls);   //ÇåLCDµÚ¶þÐÐ                            
 0170 80E0              ldi R24,<_Cls
 0172 90E0              ldi R25,>_Cls
 0174 9983              std y+1,R25
 0176 8883              std y+0,R24
 0178 21E0              ldi R18,1
 017A 0027              clr R16
 017C A6DF              xcall _DisplayListChar
 017E                   .dbline 246
 017E           ;                        DisNum = 0;                         
 017E 2224              clr R2
 0180 2092ED00          sts _DisNum,R2
 0184                   .dbline 247
 0184           ;                  }                         
 0184           L39:
 0184                   .dbline 248
 0184           ;                  if(!Shift)                        //Èç¹ûSHIFTÃ»°´ÏÂ                        
 0184 2090EF00          lds R2,_Shift
 0188 2220              tst R2
 018A 09F0              breq X24
 018C 30C0              xjmp L41
 018E           X24:
 018E           X13:
 018E                   .dbline 249
 018E           ;                  {                                 
 018E                   .dbline 250
 018E           ;                        for (TempCyc = 0;(UnShifted[TempCyc][0]!=ScanCode) 
 018E 4427              clr R20
 0190 01C0              xjmp L46
 0192           L43:
 0192                   .dbline 251
 0192           ;                        &&(TempCyc<59); TempCyc++); //²é±íÏÔÊ¾ 
 0192           L44:
 0192                   .dbline 251
 0192 4395              inc R20
 0194           L46:
 0194                   .dbline 250
 0194 80E0              ldi R24,<_UnShifted
 0196 90E0              ldi R25,>_UnShifted
 0198 E42F              mov R30,R20
 019A FF27              clr R31
 019C EE0F              lsl R30
 019E FF1F              rol R31
 01A0 E80F              add R30,R24
 01A2 F91F              adc R31,R25
 01A4 2080              ldd R2,z+0
 01A6 2A14              cp R2,R10
 01A8 11F0              breq L47
 01AA           X14:
 01AA 4B33              cpi R20,59
 01AC 90F3              brlo L43
 01AE           X15:
 01AE           L47:
 01AE                   .dbline 253
 01AE           ;                        
 01AE           ;                                          if (UnShifted[TempCyc][0] == ScanCode) 
 01AE 80E0              ldi R24,<_UnShifted
 01B0 90E0              ldi R25,>_UnShifted
 01B2 E42F              mov R30,R20
 01B4 FF27              clr R31
 01B6 EE0F              lsl R30
 01B8 FF1F              rol R31
 01BA E80F              add R30,R24
 01BC F91F              adc R31,R25
 01BE 2080              ldd R2,z+0
 01C0 2A14              cp R2,R10
 01C2 09F0              breq X25
 01C4 5CC0              xjmp L32
 01C6           X25:
 01C6           X16:
 01C6                   .dbline 254
 01C6           ;                        {  
 01C6                   .dbline 255
 01C6           ;                        DisplayOneChar(DisNum, 1, UnShifted[TempCyc][1]);                                
 01C6 80E0              ldi R24,<_UnShifted+1
 01C8 90E0              ldi R25,>_UnShifted+1
 01CA E42F              mov R30,R20
 01CC FF27              clr R31
 01CE EE0F              lsl R30
 01D0 FF1F              rol R31
 01D2 E80F              add R30,R24
 01D4 F91F              adc R31,R25
 01D6 2080              ldd R2,z+0
 01D8 2882              std y+0,R2
 01DA 21E0              ldi R18,1
 01DC 0091ED00          lds R16,_DisNum
 01E0 62DF              xcall _DisplayOneChar
 01E2                   .dbline 256
 01E2           ;                        DisNum++; 
 01E2 8091ED00          lds R24,_DisNum
 01E6 8F5F              subi R24,255    ; addi 1
 01E8 8093ED00          sts _DisNum,R24
 01EC                   .dbline 257
 01EC           ;                        } 
 01EC                   .dbline 258
 01EC           ;                  }                         
 01EC 48C0              xjmp L32
 01EE           L41:
 01EE                   .dbline 260
 01EE           ;                  else                              //°´ÏÂSHIFT                         
 01EE           ;                  {                                 
 01EE                   .dbline 261
 01EE           ;                        for(TempCyc = 0; (Shifted[TempCyc][0]!=ScanCode)&& 
 01EE 4427              clr R20
 01F0 01C0              xjmp L54
 01F2           L51:
 01F2                   .dbline 262
 01F2           ;                        (TempCyc<59); TempCyc++);   //²é±íÏÔÊ¾                          
 01F2           L52:
 01F2                   .dbline 262
 01F2 4395              inc R20
 01F4           L54:
 01F4                   .dbline 261
 01F4 80E0              ldi R24,<_Shifted
 01F6 90E0              ldi R25,>_Shifted
 01F8 E42F              mov R30,R20
 01FA FF27              clr R31
 01FC EE0F              lsl R30
 01FE FF1F              rol R31
 0200 E80F              add R30,R24
 0202 F91F              adc R31,R25
 0204 2080              ldd R2,z+0
 0206 2A14              cp R2,R10
 0208 11F0              breq L55
 020A           X17:
 020A 4B33              cpi R20,59
 020C 90F3              brlo L51
 020E           X18:
 020E           L55:
 020E                   .dbline 264
 020E           ;                        
 020E           ;                                          if (Shifted[TempCyc][0] == ScanCode) 
 020E 80E0              ldi R24,<_Shifted
 0210 90E0              ldi R25,>_Shifted
 0212 E42F              mov R30,R20
 0214 FF27              clr R31
 0216 EE0F              lsl R30
 0218 FF1F              rol R31
 021A E80F              add R30,R24
 021C F91F              adc R31,R25
 021E 2080              ldd R2,z+0
 0220 2A14              cp R2,R10
 0222 69F5              brne L32
 0224           X19:
 0224                   .dbline 265
 0224           ;                        { 
 0224                   .dbline 266
 0224           ;                        DisplayOneChar(DisNum, 1, Shifted[TempCyc][1]); 
 0224 80E0              ldi R24,<_Shifted+1
 0226 90E0              ldi R25,>_Shifted+1
 0228 E42F              mov R30,R20
 022A FF27              clr R31
 022C EE0F              lsl R30
 022E FF1F              rol R31
 0230 E80F              add R30,R24
 0232 F91F              adc R31,R25
 0234 2080              ldd R2,z+0
 0236 2882              std y+0,R2
 0238 21E0              ldi R18,1
 023A 0091ED00          lds R16,_DisNum
 023E 33DF              xcall _DisplayOneChar
 0240                   .dbline 267
 0240           ;                        DisNum++;  
 0240 8091ED00          lds R24,_DisNum
 0244 8F5F              subi R24,255    ; addi 1
 0246 8093ED00          sts _DisNum,R24
 024A                   .dbline 268
 024A           ;                        } 
 024A                   .dbline 269
 024A           ;                  }                                                 
 024A                   .dbline 270
 024A           ;                  break;                 
 024A                   .dbline 272
 024A           ;            }         
 024A           ;      }         
 024A 19C0              xjmp L32
 024C           L31:
 024C                   .dbline 275
 024C           ; 
 024C           ;      else         
 024C           ;      {                 
 024C                   .dbline 276
 024C           ;           Key_UP = 0;                 
 024C 2224              clr R2
 024E 2092EE00          sts _Key_UP,R2
 0252                   .dbline 277
 0252           ;           switch (ScanCode)   //µ±¼üËÉ¿ªÊ±²»´¦ÀíÅÐÂë£¬ÈçG 34H F0H 34H ÄÇÃ´µÚ¶þ ¸ö34H²»»á±»´¦Àí                 
 0252 4A2D              mov R20,R10
 0254 5527              clr R21
 0256 4231              cpi R20,18
 0258 E0E0              ldi R30,0
 025A 5E07              cpc R21,R30
 025C 49F0              breq L64
 025E           X20:
 025E 4231              cpi R20,18
 0260 E0E0              ldi R30,0
 0262 5E07              cpc R21,R30
 0264 64F0              brlt L61
 0266           X21:
 0266           L66:
 0266 4935              cpi R20,89
 0268 E0E0              ldi R30,0
 026A 5E07              cpc R21,R30
 026C 29F0              breq L65
 026E           X22:
 026E 07C0              xjmp L61
 0270           L64:
 0270                   .dbline 280
 0270           ;           {                         
 0270           ;                  // ×ó SHIFT     
 0270           ;                  case 0x12 : Shift = 0; break;                                                                                                                                  
 0270 2224              clr R2
 0272 2092EF00          sts _Shift,R2
 0276                   .dbline 280
 0276 03C0              xjmp L62
 0278           L65:
 0278                   .dbline 282
 0278           ;                  // ÓÒ SHIFT
 0278           ;                  case 0x59 : Shift = 0; break;                                                                                         
 0278 2224              clr R2
 027A 2092EF00          sts _Shift,R2
 027E                   .dbline 282
 027E           L61:
 027E           L62:
 027E                   .dbline 284
 027E           ;           }         
 027E           ;      }         
 027E           L32:
 027E                   .dbline 285
 027E           ;      BF = 0;                 //±êÊ¶×Ö·û´¦ÀíÍêÁË 
 027E 2224              clr R2
 0280 2092F000          sts _BF,R2
 0284                   .dbline -2
 0284           L30:
 0284                   .dbline 0 ; func end
 0284 2296              adiw R28,2
 0286 0C940000          xjmp pop_xgset300C
 028A                   .dbsym r TempCyc 20 c
 028A                   .dbsym r ScanCode 10 c
 028A                   .dbend
 028A                   .dbfunc e port_init _port_init fV
                        .even
 028A           _port_init::
 028A                   .dbline -1
 028A                   .dbline 296
 028A           ; } 
 028A           ; 
 028A           ; //*********************************************** 
 028A           ; //º¯ Êý Ãû£ºport_init(); 
 028A           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 028A           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 028A           ; //º¯Êý×÷ÓÃ£º¶Ë¿Ú³õÊ¼»¯ 
 028A           ; //Ëµ    Ã÷£º 
 028A           ; //*********************************************** 
 028A           ; void port_init(void) 
 028A           ; { 
 028A                   .dbline 298
 028A           ;  
 028A           ;      DDRA=0XFF;             //LED IO¿ÚÉèÎªÊä³ö
 028A 8FEF              ldi R24,255
 028C 8ABB              out 0x1a,R24
 028E                   .dbline 299
 028E           ;        DDRC=0XFF;             //ÊýÂë¹Ü¶ÎÑ¡ÉèÎªÊä³ö
 028E 84BB              out 0x14,R24
 0290                   .dbline 300
 0290           ;        DDRF |=0X03;           //LED¼°ÊýÂë¹ÜËø´æIO¿ÚÉèÎªÊä³ö
 0290 80916100          lds R24,97
 0294 8360              ori R24,3
 0296 80936100          sts 97,R24
 029A                   .dbline 301
 029A           ;        PORTF|=0X0E;           
 029A 80916200          lds R24,98
 029E 8E60              ori R24,14
 02A0 80936200          sts 98,R24
 02A4                   .dbline 302
 02A4           ;        PORTA=0XFF;
 02A4 8FEF              ldi R24,255
 02A6 8BBB              out 0x1b,R24
 02A8                   .dbline 303
 02A8           ;        PORTC=0XFF;            
 02A8 85BB              out 0x15,R24
 02AA                   .dbline 304
 02AA           ;        PORTF&=0xF1;           //Ëø´æÊý¾Ý¹Ø±ÕLED¼°ÊýÂë¹Ü 
 02AA 80916200          lds R24,98
 02AE 817F              andi R24,241
 02B0 80936200          sts 98,R24
 02B4                   .dbline 305
 02B4           ;        DDRB |=0X10;           //PB4ÉèÎªÊä³ö
 02B4 BC9A              sbi 0x17,4
 02B6                   .dbline 306
 02B6           ;        PORTB|=0X10;           //¹Ø±ÕPB4Íâ½ÓµÄLED        
 02B6 C49A              sbi 0x18,4
 02B8                   .dbline 308
 02B8           ;  
 02B8           ;      LCD_Control_POUT; 
 02B8 87B3              in R24,0x17
 02BA 806E              ori R24,224
 02BC 87BB              out 0x17,R24
 02BE                   .dbline 309
 02BE           ;      LCD_DATA_POUT;         //LCD D0-D7ÉèÎªÊä³ö 
 02BE 8FEF              ldi R24,255
 02C0 8ABB              out 0x1a,R24
 02C2                   .dbline 310
 02C2           ;        LCD_DATA_PORT=0Xff;
 02C2 8BBB              out 0x1b,R24
 02C4                   .dbline 312
 02C4           ;        
 02C4           ;        PS2_CTL_PIN;   
 02C4 81B3              in R24,0x11
 02C6 837F              andi R24,243
 02C8 81BB              out 0x11,R24
 02CA                   .dbline -2
 02CA           L67:
 02CA                   .dbline 0 ; func end
 02CA 0895              ret
 02CC                   .dbend
                        .area vector(rom, abs)
                        .org 16
 0010 0C946601          jmp _int3_INT
                        .area text(rom, con, rel)
 02CC                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 02CC                   .dbfunc e int3_INT _int3_INT fV
                        .even
 02CC           _int3_INT::
 02CC 1A92              st -y,R1
 02CE 2A92              st -y,R2
 02D0 8A93              st -y,R24
 02D2 9A93              st -y,R25
 02D4 1FB6              IN R1,63
 02D6 1A92              st -y,R1
 02D8                   .dbline -1
 02D8                   .dbline 324
 02D8           ; } 
 02D8           ; 
 02D8           ; //*********************************************** 
 02D8           ; //º¯ Êý Ãû£ºKeyboard_out(); 
 02D8           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 02D8           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 02D8           ; //º¯Êý×÷ÓÃ£ºÖÐ¶Ïº¯Êý 
 02D8           ; //Ëµ    Ã÷£º 
 02D8           ; //*********************************************** 
 02D8           ; #pragma interrupt_handler int3_INT:5
 02D8           ; void int3_INT(void)
 02D8           ; { 
 02D8                   .dbline 325
 02D8           ;           if((IntNum>0)&&(IntNum<9))         
 02D8 2090EC00          lds R2,_IntNum
 02DC 80E0              ldi R24,0
 02DE 8215              cp R24,R2
 02E0 70F4              brsh L69
 02E2           X26:
 02E2 822D              mov R24,R2
 02E4 8930              cpi R24,9
 02E6 58F4              brsh L69
 02E8           X27:
 02E8                   .dbline 326
 02E8           ;           {                 
 02E8                   .dbline 327
 02E8           ;                KeyV=KeyV>>1;             //Òò¼üÅÌÊý¾ÝÊÇµÍ>>¸ß£¬½áºÏÉÏÒ»¾äËù ÒÔÓÒÒÆÒ»Î»                 
 02E8 20900000          lds R2,_KeyV
 02EC 2694              lsr R2
 02EE 20920000          sts _KeyV,R2
 02F2                   .dbline 328
 02F2           ;                if(PIND & 0X04) 
 02F2 829B              sbis 0x10,2
 02F4 04C0              rjmp L71
 02F6           X28:
 02F6                   .dbline 329
 02F6           ;                KeyV=KeyV|0x80;       //µ±¼üÅÌÊý¾ÝÏßÎª1Ê±Îª1µ½×î¸ßÎ»  
 02F6 822D              mov R24,R2
 02F8 8068              ori R24,128
 02FA 80930000          sts _KeyV,R24
 02FE           L71:
 02FE                   .dbline 330
 02FE           ;           }         
 02FE           L69:
 02FE                   .dbline 331
 02FE           ;           IntNum++;         
 02FE 8091EC00          lds R24,_IntNum
 0302 8F5F              subi R24,255    ; addi 1
 0304 8093EC00          sts _IntNum,R24
 0308           L73:
 0308                   .dbline 332
 0308           ;           while (!(PIND & 0X08)){;}           //µÈ´ýPS/2CLKÀ­¸ß                 
 0308                   .dbline 332
 0308                   .dbline 332
 0308           L74:
 0308                   .dbline 332
 0308 839B              sbis 0x10,3
 030A FECF              rjmp L73
 030C           X29:
 030C                   .dbline 333
 030C           ;           if (IntNum > 10)         
 030C 8AE0              ldi R24,10
 030E 2090EC00          lds R2,_IntNum
 0312 8215              cp R24,R2
 0314 50F4              brsh L76
 0316           X30:
 0316                   .dbline 334
 0316           ;           {                 
 0316                   .dbline 335
 0316           ;                IntNum = 0;               //µ±ÖÐ¶Ï10´Îºó±íÊ¾Ò»Ö¡Êý¾ÝÊÕÍê£¬Çå ±äÁ¿×¼±¸ÏÂÒ»´Î½ÓÊÕ                 
 0316 2224              clr R2
 0318 2092EC00          sts _IntNum,R2
 031C                   .dbline 336
 031C           ;                BF = 1;                   //±êÊ¶ÓÐ×Ö·ûÊäÈëÍêÁË                
 031C 81E0              ldi R24,1
 031E 8093F000          sts _BF,R24
 0322                   .dbline 337
 0322           ;                          CLI();   
 0322 F894              cli
 0324                   .dbline 338
 0324           ;                          EIMSK &=~(1<<INT3);   
 0324 89B7              in R24,0x39
 0326 877F              andi R24,247
 0328 89BF              out 0x39,R24
 032A                   .dbline 339
 032A           ;           }  
 032A           L76:
 032A                   .dbline -2
 032A           L68:
 032A                   .dbline 0 ; func end
 032A 1990              ld R1,y+
 032C 1FBE              OUT 63,R1
 032E 9991              ld R25,y+
 0330 8991              ld R24,y+
 0332 2990              ld R2,y+
 0334 1990              ld R1,y+
 0336 1895              reti
 0338                   .dbend
 0338                   .dbfunc e main _main fV
 0338           ;        TempCyc -> <dead>
                        .even
 0338           _main::
 0338 2297              sbiw R28,2
 033A                   .dbline -1
 033A                   .dbline 350
 033A           ; } 
 033A           ; 
 033A           ; //*********************************************** 
 033A           ; //º¯ Êý Ãû£ºmain(); 
 033A           ; //Èë¿Ú²ÎÊý£ºÎÞ 
 033A           ; //³ö¿Ú²ÎÊý£ºÎÞ 
 033A           ; //º¯Êý×÷ÓÃ£ºMAINº¯Êý 
 033A           ; //Ëµ    Ã÷£º 
 033A           ; //*********************************************** 
 033A           ; void main(void) 
 033A           ; {         
 033A                   .dbline 352
 033A           ;      uchar TempCyc;    
 033A           ;      port_init();                            //µ÷ÓÃ¶Ë¿Ú³õÊ¼»¯º¯Êý              
 033A A7DF              xcall _port_init
 033C                   .dbline 353
 033C           ;      Delay400Ms();                           //Æô¶¯µÈ´ý£¬µÈLCM½²Èë¹¤×÷×´Ì¬         
 033C 6BDE              xcall _Delay400Ms
 033E                   .dbline 354
 033E           ;        LCMInit();                              //LCM³õÊ¼»¯                              
 033E A2DE              xcall _LCMInit
 0340                   .dbline 355
 0340           ;        Delay400Ms();
 0340 69DE              xcall _Delay400Ms
 0342                   .dbline 356
 0342           ;        DisplayListChar(0, 0, model_name);                       
 0342 80E0              ldi R24,<_model_name
 0344 90E0              ldi R25,>_model_name
 0346 9983              std y+1,R25
 0348 8883              std y+0,R24
 034A 2227              clr R18
 034C 0027              clr R16
 034E BDDE              xcall _DisplayListChar
 0350                   .dbline 357
 0350           ;      DisplayListChar(0, 1, Cls);            
 0350 80E0              ldi R24,<_Cls
 0352 90E0              ldi R25,>_Cls
 0354 9983              std y+1,R25
 0356 8883              std y+0,R24
 0358 21E0              ldi R18,1
 035A 0027              clr R16
 035C B6DE              xcall _DisplayListChar
 035E                   .dbline 359
 035E           ;      
 035E           ;        EIMSK |=1<<INT3;
 035E 89B7              in R24,0x39
 0360 8860              ori R24,8
 0362 89BF              out 0x39,R24
 0364                   .dbline 360
 0364           ;        SEI();             
 0364 7894              sei
 0366           L79:
 0366                   .dbline 363
 0366           ;      
 0366           ;        do         
 0366           ;      {                 
 0366                   .dbline 364
 0366           ;           if (BF){Decode(KeyV);}                 
 0366 2090F000          lds R2,_BF
 036A 2220              tst R2
 036C 21F0              breq L82
 036E           X31:
 036E                   .dbline 364
 036E                   .dbline 364
 036E 00910000          lds R16,_KeyV
 0372 CFDE              xcall _Decode
 0374                   .dbline 364
 0374 04C0              xjmp L83
 0376           L82:
 0376                   .dbline 366
 0376           ;           else   
 0376           ;             {  
 0376                   .dbline 367
 0376           ;             EIMSK |=1<<INT3;
 0376 89B7              in R24,0x39
 0378 8860              ori R24,8
 037A 89BF              out 0x39,R24
 037C                   .dbline 368
 037C           ;             SEI();  
 037C 7894              sei
 037E                   .dbline 369
 037E           ;             }                  //¿ªÍâ²¿ÖÐ¶Ï       
 037E           L83:
 037E                   .dbline 370
 037E           ;      }while(1); 
 037E           L80:
 037E                   .dbline 370
 037E F3CF              xjmp L79
 0380           X32:
 0380                   .dbline -2
 0380           L78:
 0380                   .dbline 0 ; func end
 0380 2296              adiw R28,2
 0382 0895              ret
 0384                   .dbsym l TempCyc 3 c
 0384                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéÊ®~3\ps2.c
 0000           _KeyV::
 0000                   .blkb 1
 0001                   .dbsym e KeyV _KeyV c
 0001           ; } 
 0001           ; 
 0001           ; 
 0001           ; 
