📄 keyscan.lis
字号:
0058 0895 ret
005A .dbsym r i 16 c
005A .dbend
005A .dbfile F:\job\M16学习板\按键实验(实验二)\KeyScan.c
005A .dbfunc e DelayMs _DelayMs fV
005A ; j -> R20
005A ; i -> R16
.even
005A _DelayMs::
005A 0E940000 xcall push_gset1
005E .dbline -1
005E .dbline 26
005E 06C0 xjmp L9
0060 L8:
0060 .dbline 29
0060 .dbline 30
0060 47EA ldi R20,167
0062 L11:
0062 .dbline 31
0062 L12:
0062 .dbline 31
0062 242E mov R2,R20
0064 3324 clr R3
0066 4150 subi R20,1
0068 2220 tst R2
006A D9F7 brne L11
006C .dbline 32
006C L9:
006C .dbline 28
006C 202E mov R2,R16
006E 3324 clr R3
0070 0150 subi R16,1
0072 2220 tst R2
0074 A9F7 brne L8
0076 .dbline -2
0076 L7:
0076 0E940000 xcall pop_gset1
007A .dbline 0 ; func end
007A 0895 ret
007C .dbsym r j 20 c
007C .dbsym r i 16 c
007C .dbend
007C .dbfunc e KeyScan _KeyScan fV
007C ; KeyNum -> R20
.even
007C _KeyScan::
007C 0E940000 xcall push_gset2
0080 .dbline -1
0080 .dbline 42
0080 .dbline 43
0080 4427 clr R20
0082 .dbline 44
0082 8FEF ldi R24,255
0084 8ABB out 0x1a,R24
0086 .dbline 45
0086 8BBB out 0x1b,R24
0088 .dbline 46
0088 01E0 ldi R16,1
008A E7DF xcall _DelayMs
008C .dbline 47
008C 2224 clr R2
008E 2ABA out 0x1a,R2
0090 .dbline 48
0090 89B3 in R24,0x19
0092 8F3F cpi R24,255
0094 11F0 breq L15
0096 .dbline 49
0096 01E0 ldi R16,1
0098 E0DF xcall _DelayMs
009A L15:
009A .dbline 51
009A 8FEF ldi R24,255
009C 8ABB out 0x1a,R24
009E .dbline 52
009E 8BBB out 0x1b,R24
00A0 .dbline 53
00A0 01E0 ldi R16,1
00A2 DBDF xcall _DelayMs
00A4 .dbline 54
00A4 2224 clr R2
00A6 2ABA out 0x1a,R2
00A8 .dbline 55
00A8 89B3 in R24,0x19
00AA 8F3F cpi R24,255
00AC 09F4 brne X1
00AE 5DC0 xjmp L17
00B0 X1:
00B0 .dbline 56
00B0 .dbline 57
00B0 69B3 in R22,0x19
00B2 7727 clr R23
00B4 7070 andi R23,0
00B6 6F3D cpi R22,223
00B8 E0E0 ldi R30,0
00BA 7E07 cpc R23,R30
00BC 09F4 brne X2
00BE 36C0 xjmp L27
00C0 X2:
00C0 8FED ldi R24,223
00C2 90E0 ldi R25,0
00C4 8617 cp R24,R22
00C6 9707 cpc R25,R23
00C8 74F0 brlt L31
00CA L30:
00CA 6F37 cpi R22,127
00CC E0E0 ldi R30,0
00CE 7E07 cpc R23,R30
00D0 89F1 breq L29
00D2 6F37 cpi R22,127
00D4 E0E0 ldi R30,0
00D6 7E07 cpc R23,R30
00D8 0CF4 brge X3
00DA 41C0 xjmp L35
00DC X3:
00DC L32:
00DC 6F3B cpi R22,191
00DE E0E0 ldi R30,0
00E0 7E07 cpc R23,R30
00E2 31F1 breq L28
00E4 3CC0 xjmp L35
00E6 L31:
00E6 6F3E cpi R22,239
00E8 E0E0 ldi R30,0
00EA 7E07 cpc R23,R30
00EC E9F0 breq L26
00EE 6F3E cpi R22,239
00F0 E0E0 ldi R30,0
00F2 7E07 cpc R23,R30
00F4 A4F1 brlt L35
00F6 L33:
00F6 673F cpi R22,247
00F8 E0E0 ldi R30,0
00FA 7E07 cpc R23,R30
00FC 99F0 breq L25
00FE 6B3F cpi R22,251
0100 E0E0 ldi R30,0
0102 7E07 cpc R23,R30
0104 69F0 breq L24
0106 6D3F cpi R22,253
0108 E0E0 ldi R30,0
010A 7E07 cpc R23,R30
010C 39F0 breq L23
010E 6E3F cpi R22,254
0110 E0E0 ldi R30,0
0112 7E07 cpc R23,R30
0114 09F0 breq L22
0116 23C0 xjmp L35
0118 X0:
0118 .dbline 58
0118 L22:
0118 .dbline 59
0118 41E0 ldi R20,1
011A .dbline 59
011A 21C0 xjmp L35
011C L23:
011C .dbline 60
011C 42E0 ldi R20,2
011E .dbline 60
011E 1FC0 xjmp L35
0120 L24:
0120 .dbline 61
0120 43E0 ldi R20,3
0122 .dbline 61
0122 1DC0 xjmp L35
0124 L25:
0124 .dbline 62
0124 44E0 ldi R20,4
0126 .dbline 62
0126 1BC0 xjmp L35
0128 L26:
0128 .dbline 63
0128 45E0 ldi R20,5
012A .dbline 63
012A 19C0 xjmp L35
012C L27:
012C .dbline 64
012C 46E0 ldi R20,6
012E .dbline 64
012E 17C0 xjmp L35
0130 L28:
0130 .dbline 65
0130 47E0 ldi R20,7
0132 .dbline 65
0132 15C0 xjmp L35
0134 L29:
0134 .dbline 66
0134 48E0 ldi R20,8
0136 .dbline 66
0136 .dbline 67
0136 13C0 xjmp L35
0138 L34:
0138 .dbline 71
0138 .dbline 72
0138 8FEF ldi R24,255
013A 87BB out 0x17,R24
013C .dbline 73
013C 142F mov R17,R20
013E 1150 subi R17,1
0140 01E0 ldi R16,1
0142 0E940000 xcall lsl8
0146 202E mov R2,R16
0148 2094 com R2
014A 38B2 in R3,0x18
014C 3220 and R3,R2
014E 38BA out 0x18,R3
0150 .dbline 74
0150 8FEF ldi R24,255
0152 8ABB out 0x1a,R24
0154 .dbline 75
0154 8BBB out 0x1b,R24
0156 .dbline 76
0156 01E0 ldi R16,1
0158 80DF xcall _DelayMs
015A .dbline 77
015A 2224 clr R2
015C 2ABA out 0x1a,R2
015E .dbline 78
015E L35:
015E .dbline 70
015E 89B3 in R24,0x19
0160 8F3F cpi R24,255
0162 51F7 brne L34
0164 .dbline 79
0164 8FEF ldi R24,255
0166 87BB out 0x17,R24
0168 .dbline 80
0168 88BB out 0x18,R24
016A .dbline 81
016A L17:
016A .dbline -2
016A L14:
016A 0E940000 xcall pop_gset2
016E .dbline 0 ; func end
016E 0895 ret
0170 .dbsym r KeyNum 20 c
0170 .dbend
0170 .dbfunc e main _main fV
.even
0170 _main::
0170 .dbline -1
0170 .dbline 91
0170 .dbline 92
0170 8FEF ldi R24,255
0172 87BB out 0x17,R24
0174 .dbline 93
0174 88BB out 0x18,R24
0176 03C0 xjmp L39
0178 L38:
0178 .dbline 95
0178 .dbline 96
0178 08EC ldi R16,200
017A 6FDF xcall _DelayMs
017C .dbline 97
017C 7FDF xcall _KeyScan
017E .dbline 98
017E L39:
017E .dbline 94
017E FCCF xjmp L38
0180 X4:
0180 .dbline -2
0180 L37:
0180 .dbline 0 ; func end
0180 0895 ret
0182 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -