📄 matrixkey.lis
字号:
00BE .dbsym r len 12 C
00BE .dbsym l dat 16 l
00BE .dbend
00BE .dbfile E:\ICC_H\HardExt.H
00BE .dbfunc e delay50us _delay50us fV
00BE ; j -> R20
00BE ; t -> R16,R17
.even
00BE _delay50us::
00BE 0E940000 xcall push_gset1
00C2 .dbline -1
00C2 .dbline 98
00C2 .dbline 100
00C2 07C0 xjmp L10
00C4 L7:
00C4 .dbline 101
00C4 4427 clr R20
00C6 01C0 xjmp L14
00C8 L11:
00C8 .dbline 102
00C8 L12:
00C8 .dbline 101
00C8 4395 inc R20
00CA L14:
00CA .dbline 101
00CA 4634 cpi R20,70
00CC E8F3 brlo L11
00CE L8:
00CE .dbline 100
00CE 0150 subi R16,1
00D0 1040 sbci R17,0
00D2 L10:
00D2 .dbline 100
00D2 2224 clr R2
00D4 3324 clr R3
00D6 2016 cp R2,R16
00D8 3106 cpc R3,R17
00DA A4F3 brlt L7
00DC .dbline -2
00DC .dbline 103
00DC L6:
00DC 0E940000 xcall pop_gset1
00E0 .dbline 0 ; func end
00E0 0895 ret
00E2 .dbsym r j 20 c
00E2 .dbsym r t 16 I
00E2 .dbend
00E2 .dbfunc e delay50ms _delay50ms fV
00E2 ; i -> R20,R21
00E2 ; t -> R16,R17
.even
00E2 _delay50ms::
00E2 0E940000 xcall push_gset1
00E6 .dbline -1
00E6 .dbline 113
00E6 .dbline 115
00E6 0BC0 xjmp L19
00E8 L16:
00E8 .dbline 116
00E8 4427 clr R20
00EA 5527 clr R21
00EC 02C0 xjmp L23
00EE L20:
00EE .dbline 117
00EE L21:
00EE .dbline 116
00EE 4F5F subi R20,255 ; offset = 1
00F0 5F4F sbci R21,255
00F2 L23:
00F2 .dbline 116
00F2 423A cpi R20,162
00F4 EDEC ldi R30,205
00F6 5E07 cpc R21,R30
00F8 D0F3 brlo L20
00FA L17:
00FA .dbline 115
00FA 0150 subi R16,1
00FC 1040 sbci R17,0
00FE L19:
00FE .dbline 115
00FE 2224 clr R2
0100 3324 clr R3
0102 2016 cp R2,R16
0104 3106 cpc R3,R17
0106 84F3 brlt L16
0108 .dbline -2
0108 .dbline 118
0108 L15:
0108 0E940000 xcall pop_gset1
010C .dbline 0 ; func end
010C 0895 ret
010E .dbsym r i 20 i
010E .dbsym r t 16 I
010E .dbend
.area lit(rom, con, rel)
0000 _setSta_::
0000 FEFD .byte 254,253
0002 FBF7 .byte 251,247
0004 .dbfile E:\ProductPro\M16SD\ICCAVR\MatrixKeyBoard\MatrixKeyBoard\MatrixKey.c
0004 .dbsym e setSta_ _setSta_ A[4:4]kc
0004 _getSta_::
0004 70B0 .byte 'p,176
0006 D0E0 .byte 208,224
0008 .dbsym e getSta_ _getSta_ A[4:4]kc
.area text(rom, con, rel)
010E .dbfile E:\ProductPro\M16SD\ICCAVR\MatrixKeyBoard\MatrixKeyBoard\MatrixKey.c
010E .dbfunc e GetKeyVal _GetKeyVal fc
010E ; keyVal -> R12
010E ; getSta -> R10
010E ; i -> R20
010E ; j -> R22
.even
010E _GetKeyVal::
010E 0E940000 xcall push_gset4
0112 .dbline -1
0112 .dbline 67
0112 .dbline 70
0112 4427 clr R20
0114 2DC0 xjmp L28
0116 L25:
0116 .dbline 71
0116 .dbline 72
0116 80E0 ldi R24,<_setSta_
0118 90E0 ldi R25,>_setSta_
011A E42F mov R30,R20
011C FF27 clr R31
011E E80F add R30,R24
0120 F91F adc R31,R25
0122 E491 lpm R30,Z
0124 EBBB out 0x1b,R30
0126 .dbline 73
0126 01E0 ldi R16,1
0128 10E0 ldi R17,0
012A C9DF xcall _delay50us
012C .dbline 74
012C 80E0 ldi R24,<_setSta_
012E 90E0 ldi R25,>_setSta_
0130 E42F mov R30,R20
0132 FF27 clr R31
0134 E80F add R30,R24
0136 F91F adc R31,R25
0138 E491 lpm R30,Z
013A 29B2 in R2,0x19
013C 2E16 cp R2,R30
013E B9F0 breq L29
0140 .dbline 75
0140 .dbline 76
0140 89B3 in R24,0x19
0142 807F andi R24,240
0144 A82E mov R10,R24
0146 .dbline 77
0146 6627 clr R22
0148 10C0 xjmp L34
014A L31:
014A .dbline 78
014A 80E0 ldi R24,<_getSta_
014C 90E0 ldi R25,>_getSta_
014E E62F mov R30,R22
0150 FF27 clr R31
0152 E80F add R30,R24
0154 F91F adc R31,R25
0156 E491 lpm R30,Z
0158 AE16 cp R10,R30
015A 31F4 brne L35
015C .dbline 79
015C .dbline 80
015C 84E0 ldi R24,4
015E 849F mul R24,R20
0160 C62E mov R12,R22
0162 C00C add R12,R0
0164 .dbline 81
0164 0C2D mov R16,R12
0166 07C0 xjmp L24
0168 L35:
0168 L32:
0168 .dbline 77
0168 6395 inc R22
016A L34:
016A .dbline 77
016A 6430 cpi R22,4
016C 70F3 brlo L31
016E .dbline 83
016E L29:
016E .dbline 84
016E L26:
016E .dbline 70
016E 4395 inc R20
0170 L28:
0170 .dbline 70
0170 4430 cpi R20,4
0172 88F2 brlo L25
0174 .dbline 85
0174 0FEF ldi R16,255
0176 .dbline -2
0176 L24:
0176 0E940000 xcall pop_gset4
017A .dbline 0 ; func end
017A 0895 ret
017C .dbsym r keyVal 12 c
017C .dbsym r getSta 10 c
017C .dbsym r i 20 c
017C .dbsym r j 22 c
017C .dbend
017C .dbfunc e main _main fV
017C ; keyVal -> R20
.even
017C _main::
017C .dbline -1
017C .dbline 96
017C .dbline 98
017C 8FEF ldi R24,255
017E 87BB out 0x17,R24
0180 .dbline 99
0180 8FE0 ldi R24,15
0182 8ABB out 0x1a,R24
0184 05C0 xjmp L39
0186 L38:
0186 .dbline 101
0186 .dbline 102
0186 C3DF xcall _GetKeyVal
0188 402F mov R20,R16
018A .dbline 103
018A 0F3F cpi R16,255
018C 09F0 breq L41
018E .dbline 104
018E 08BB out 0x18,R16
0190 L41:
0190 .dbline 105
0190 L39:
0190 .dbline 100
0190 FACF xjmp L38
0192 X1:
0192 .dbline -2
0192 .dbline 106
0192 L37:
0192 .dbline 0 ; func end
0192 0895 ret
0194 .dbsym r keyVal 20 c
0194 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\ProductPro\M16SD\ICCAVR\MatrixKeyBoard\MatrixKeyBoard\MatrixKey.c
0000 _dataElem::
0000 .blkb 6
0006 .dbfile E:\ICC_H\SoftExt.H
0006 .dbsym e dataElem _dataElem A[6:6]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -