📄 ex_support.lis
字号:
00C4 8695 lsr R24
00C6 8695 lsr R24
00C8 8695 lsr R24
00CA 8170 andi R24,1
00CC 09F4 brne L22
00CE X6:
00CE .dbline 173
00CE ; {
00CE .dbline 174
00CE ; cKeyScanValue = 0x03;
00CE 03E0 ldi R16,3
00D0 .dbline 175
00D0 ; }
00D0 L22:
00D0 .dbline 178
00D0 ;
00D0 ; //扫描第二行
00D0 ; SET_KEY_OUT_ALL_PORT_HIGH
00D0 82B3 in R24,0x12
00D2 8C67 ori R24,124
00D4 82BB out 0x12,R24
00D6 .dbline 179
00D6 ; KEY_OUT_Y_P2 = LOW;
00D6 82B3 in R24,0x12
00D8 877F andi R24,247
00DA 82BB out 0x12,R24
00DC .dbline 180
00DC ; NOP();
00DC 0000 nop
00DE .dbline 181
00DE ; if (!KEY_IN_X_P1)
00DE 83B3 in R24,0x13
00E0 8695 lsr R24
00E2 8695 lsr R24
00E4 8170 andi R24,1
00E6 09F4 brne L24
00E8 X7:
00E8 .dbline 182
00E8 ; {
00E8 .dbline 183
00E8 ; cKeyScanValue = 0x04;
00E8 04E0 ldi R16,4
00EA .dbline 184
00EA ; }
00EA L24:
00EA .dbline 185
00EA ; if (!KEY_IN_X_P2)
00EA 83B3 in R24,0x13
00EC 8695 lsr R24
00EE 8695 lsr R24
00F0 8695 lsr R24
00F2 8170 andi R24,1
00F4 09F4 brne L26
00F6 X8:
00F6 .dbline 186
00F6 ; {
00F6 .dbline 187
00F6 ; cKeyScanValue = 0x05;
00F6 05E0 ldi R16,5
00F8 .dbline 188
00F8 ; }
00F8 L26:
00F8 .dbline 189
00F8 ; if (!KEY_IN_X_P3)
00F8 83B3 in R24,0x13
00FA 8295 swap R24
00FC 8F70 andi R24,#0x0F
00FE 8170 andi R24,1
0100 09F4 brne L28
0102 X9:
0102 .dbline 190
0102 ; {
0102 .dbline 191
0102 ; cKeyScanValue = 0x06;
0102 06E0 ldi R16,6
0104 .dbline 192
0104 ; }
0104 L28:
0104 .dbline 193
0104 ; if (!KEY_IN_X_P4)
0104 83B3 in R24,0x13
0106 8695 lsr R24
0108 8695 lsr R24
010A 8695 lsr R24
010C 8695 lsr R24
010E 8695 lsr R24
0110 8170 andi R24,1
0112 09F4 brne L30
0114 X10:
0114 .dbline 194
0114 ; {
0114 .dbline 195
0114 ; cKeyScanValue = 0x07;
0114 07E0 ldi R16,7
0116 .dbline 196
0116 ; }
0116 L30:
0116 .dbline 199
0116 ;
0116 ; //扫描第三行
0116 ; SET_KEY_OUT_ALL_PORT_HIGH
0116 82B3 in R24,0x12
0118 8C67 ori R24,124
011A 82BB out 0x12,R24
011C .dbline 200
011C ; KEY_OUT_Y_P3 = LOW;
011C 82B3 in R24,0x12
011E 8F7E andi R24,239
0120 82BB out 0x12,R24
0122 .dbline 201
0122 ; NOP();
0122 0000 nop
0124 .dbline 202
0124 ; if (!KEY_IN_X_P1)
0124 83B3 in R24,0x13
0126 8695 lsr R24
0128 8695 lsr R24
012A 8170 andi R24,1
012C 09F4 brne L32
012E X11:
012E .dbline 203
012E ; {
012E .dbline 204
012E ; cKeyScanValue = 0x08;
012E 08E0 ldi R16,8
0130 .dbline 205
0130 ; }
0130 L32:
0130 .dbline 206
0130 ; if (!KEY_IN_X_P2)
0130 83B3 in R24,0x13
0132 8695 lsr R24
0134 8695 lsr R24
0136 8695 lsr R24
0138 8170 andi R24,1
013A 09F4 brne L34
013C X12:
013C .dbline 207
013C ; {
013C .dbline 208
013C ; cKeyScanValue = 0x09;
013C 09E0 ldi R16,9
013E .dbline 209
013E ; }
013E L34:
013E .dbline 210
013E ; if (!KEY_IN_X_P3)
013E 83B3 in R24,0x13
0140 8295 swap R24
0142 8F70 andi R24,#0x0F
0144 8170 andi R24,1
0146 09F4 brne L36
0148 X13:
0148 .dbline 211
0148 ; {
0148 .dbline 212
0148 ; cKeyScanValue = 0x0a;
0148 0AE0 ldi R16,10
014A .dbline 213
014A ; }
014A L36:
014A .dbline 214
014A ; if (!KEY_IN_X_P4)
014A 83B3 in R24,0x13
014C 8695 lsr R24
014E 8695 lsr R24
0150 8695 lsr R24
0152 8695 lsr R24
0154 8695 lsr R24
0156 8170 andi R24,1
0158 09F4 brne L38
015A X14:
015A .dbline 215
015A ; {
015A .dbline 216
015A ; cKeyScanValue = 0x0b;
015A 0BE0 ldi R16,11
015C .dbline 217
015C ; }
015C L38:
015C .dbline 220
015C ;
015C ; //扫描第四行
015C ; SET_KEY_OUT_ALL_PORT_HIGH
015C 82B3 in R24,0x12
015E 8C67 ori R24,124
0160 82BB out 0x12,R24
0162 .dbline 221
0162 ; KEY_OUT_Y_P4 = LOW;
0162 82B3 in R24,0x12
0164 8F7D andi R24,223
0166 82BB out 0x12,R24
0168 .dbline 222
0168 ; NOP();
0168 0000 nop
016A .dbline 223
016A ; if (!KEY_IN_X_P1)
016A 83B3 in R24,0x13
016C 8695 lsr R24
016E 8695 lsr R24
0170 8170 andi R24,1
0172 09F4 brne L40
0174 X15:
0174 .dbline 224
0174 ; {
0174 .dbline 225
0174 ; cKeyScanValue = 0x0c;
0174 0CE0 ldi R16,12
0176 .dbline 226
0176 ; }
0176 L40:
0176 .dbline 227
0176 ; if (!KEY_IN_X_P2)
0176 83B3 in R24,0x13
0178 8695 lsr R24
017A 8695 lsr R24
017C 8695 lsr R24
017E 8170 andi R24,1
0180 09F4 brne L42
0182 X16:
0182 .dbline 228
0182 ; {
0182 .dbline 229
0182 ; cKeyScanValue = 0x0d;
0182 0DE0 ldi R16,13
0184 .dbline 230
0184 ; }
0184 L42:
0184 .dbline 231
0184 ; if (!KEY_IN_X_P3)
0184 83B3 in R24,0x13
0186 8295 swap R24
0188 8F70 andi R24,#0x0F
018A 8170 andi R24,1
018C 09F4 brne L44
018E X17:
018E .dbline 232
018E ; {
018E .dbline 233
018E ; cKeyScanValue = 0x0e;
018E 0EE0 ldi R16,14
0190 .dbline 234
0190 ; }
0190 L44:
0190 .dbline 235
0190 ; if (!KEY_IN_X_P4)
0190 83B3 in R24,0x13
0192 8695 lsr R24
0194 8695 lsr R24
0196 8695 lsr R24
0198 8695 lsr R24
019A 8695 lsr R24
019C 8170 andi R24,1
019E 09F4 brne L46
01A0 X18:
01A0 .dbline 236
01A0 ; {
01A0 .dbline 237
01A0 ; cKeyScanValue = 0x0f;
01A0 0FE0 ldi R16,15
01A2 .dbline 238
01A2 ; }
01A2 L46:
01A2 .dbline 241
01A2 ;
01A2 ; //扫描第五行
01A2 ; SET_KEY_OUT_ALL_PORT_HIGH
01A2 82B3 in R24,0x12
01A4 8C67 ori R24,124
01A6 82BB out 0x12,R24
01A8 .dbline 242
01A8 ; KEY_OUT_Y_P5 = LOW;
01A8 82B3 in R24,0x12
01AA 8F7B andi R24,191
01AC 82BB out 0x12,R24
01AE .dbline 243
01AE ; NOP();
01AE 0000 nop
01B0 .dbline 244
01B0 ; if (!KEY_IN_X_P1)
01B0 83B3 in R24,0x13
01B2 8695 lsr R24
01B4 8695 lsr R24
01B6 8170 andi R24,1
01B8 09F4 brne L48
01BA X19:
01BA .dbline 245
01BA ; {
01BA .dbline 246
01BA ; cKeyScanValue = 0x10;
01BA 00E1 ldi R16,16
01BC .dbline 247
01BC ; }
01BC L48:
01BC .dbline 248
01BC ; if (!KEY_IN_X_P2)
01BC 83B3 in R24,0x13
01BE 8695 lsr R24
01C0 8695 lsr R24
01C2 8695 lsr R24
01C4 8170 andi R24,1
01C6 09F4 brne L50
01C8 X20:
01C8 .dbline 249
01C8 ; {
01C8 .dbline 250
01C8 ; cKeyScanValue = 0x11;
01C8 01E1 ldi R16,17
01CA .dbline 251
01CA ; }
01CA L50:
01CA .dbline 252
01CA ; if (!KEY_IN_X_P3)
01CA 83B3 in R24,0x13
01CC 8295 swap R24
01CE 8F70 andi R24,#0x0F
01D0 8170 andi R24,1
01D2 09F4 brne L52
01D4 X21:
01D4 .dbline 253
01D4 ; {
01D4 .dbline 254
01D4 ; cKeyScanValue = 0x12;
01D4 02E1 ldi R16,18
01D6 .dbline 255
01D6 ; }
01D6 L52:
01D6 .dbline 256
01D6 ; if (!KEY_IN_X_P4)
01D6 83B3 in R24,0x13
01D8 8695 lsr R24
01DA 8695 lsr R24
01DC 8695 lsr R24
01DE 8695 lsr R24
01E0 8695 lsr R24
01E2 8170 andi R24,1
01E4 09F4 brne L54
01E6 X22:
01E6 .dbline 257
01E6 ; {
01E6 .dbline 258
01E6 ; cKeyScanValue = 0x13;
01E6 03E1 ldi R16,19
01E8 .dbline 259
01E8 ; }
01E8 L54:
01E8 .dbline 261
01E8 ;
01E8 ; return cKeyScanValue;
01E8 .dbline -2
01E8 L15:
01E8 .dbline 0 ; func end
01E8 0895 ret
01EA .dbsym r cKeyScanValue0 16 c
01EA .dbend
01EA ;
01EA ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -