📄 main.lis
字号:
029E 800A xjmp L75
02A0 L74:
02A0 .dbline 323
02A0 ; else
02A0 ; {
02A0 .dbline 324
02A0 ; shouldstartkb=FALSE;
02A0 551100 mov [_shouldstartkb],0
02A3 .dbline 325
02A3 ; reg_int0_new=get_int0_new;
02A3 5F1213 mov [_reg_int0_new],[_get_int0_new]
02A6 .dbline 326
02A6 ; kb_timer=0x00;
02A6 551000 mov [_kb_timer],0
02A9 .dbline 327
02A9 ; }
02A9 L75:
02A9 .dbline 329
02A9 ;
02A9 ; if(kb_timer==0x0A)
02A9 3C100A cmp [_kb_timer],10
02AC B344 jnz L76
02AE .dbline 332
02AE ; // KEYBOARD
02AE ; // if(get_kb_new==0x01)
02AE ; {
02AE .dbline 335
02AE ; //debug_turn_on_led();
02AE ;
02AE ; protect_counter=0x0000;
02AE 551E00 mov [_protect_counter+1],0
02B1 551D00 mov [_protect_counter],0
02B4 .dbline 336
02B4 ; shouldprotect = TRUE;
02B4 551F01 mov [_shouldprotect],1
02B7 .dbline 340
02B7 ;
02B7 ; //debug_glimpse();//just for debug!!!!
02B7 ; // decide which code should be send to pc start!
02B7 ; get_kb0=INT0_GET_DATA_KB_00();
02B7 10 push X
02B8 7C0000 xcall _INT0_GET_DATA_KB_00
02BB 20 pop X
02BC 530F mov [_get_kb0],A
02BE .dbline 341
02BE ; get_kb1=INT0_GET_DATA_KB_01();
02BE 10 push X
02BF 7C0000 xcall _INT0_GET_DATA_KB_01
02C2 20 pop X
02C3 530E mov [_get_kb1],A
02C5 .dbline 342
02C5 ; get_kb2=INT0_GET_DATA_KB_02();
02C5 10 push X
02C6 7C0000 xcall _INT0_GET_DATA_KB_02
02C9 20 pop X
02CA 530D mov [_get_kb2],A
02CC .dbline 343
02CC ; get_kb3=INT0_GET_DATA_KB_03();
02CC 10 push X
02CD 7C0000 xcall _INT0_GET_DATA_KB_03
02D0 20 pop X
02D1 530C mov [_get_kb3],A
02D3 .dbline 344
02D3 ; get_kb4=INT0_GET_DATA_KB_04();
02D3 10 push X
02D4 7C0000 xcall _INT0_GET_DATA_KB_04
02D7 20 pop X
02D8 530B mov [_get_kb4],A
02DA .dbline 345
02DA ; get_kb5=INT0_GET_DATA_KB_05();
02DA 10 push X
02DB 7C0000 xcall _INT0_GET_DATA_KB_05
02DE 20 pop X
02DF 530A mov [_get_kb5],A
02E1 .dbline 346
02E1 ; get_kb6=INT0_GET_DATA_KB_06();
02E1 10 push X
02E2 7C0000 xcall _INT0_GET_DATA_KB_06
02E5 20 pop X
02E6 5309 mov [_get_kb6],A
02E8 .dbline 347
02E8 ; get_kb7=INT0_GET_DATA_KB_07();
02E8 10 push X
02E9 7C0000 xcall _INT0_GET_DATA_KB_07
02EC 20 pop X
02ED 5308 mov [_get_kb7],A
02EF .dbline 350
02EF ;
02EF ; //initial value
02EF ; report_packet_kb.kb0 = 0x00;
02EF 552100 mov [_report_packet_kb],0
02F2 .dbline 351
02F2 ; report_packet_kb.kb1 = 0x00;
02F2 552200 mov [_report_packet_kb+1],0
02F5 .dbline 352
02F5 ; report_packet_kb.kb2 = 0x00;
02F5 552300 mov [_report_packet_kb+2],0
02F8 .dbline 353
02F8 ; report_packet_kb.kb3 = 0x00;
02F8 552400 mov [_report_packet_kb+3],0
02FB .dbline 354
02FB ; report_packet_kb.kb4 = 0x00;
02FB 552500 mov [_report_packet_kb+4],0
02FE .dbline 355
02FE ; report_packet_kb.kb5 = 0x00;
02FE 552600 mov [_report_packet_kb+5],0
0301 .dbline 356
0301 ; report_packet_kb.kb6 = 0x00;
0301 552700 mov [_report_packet_kb+6],0
0304 .dbline 357
0304 ; report_packet_kb.kb7 = 0x00;
0304 552800 mov [_report_packet_kb+7],0
0307 .dbline 360
0307 ;
0307 ; //debug_turn_on_led();
0307 ; if(get_kb0==0xF0)//break CODE ,need do nothing
0307 3C0FF0 cmp [_get_kb0],-16
030A B02C jnz L85
030C .dbline 361
030C ; {
030C .dbline 362
030C ; if(get_kb1==0xA5)
030C 3C0EA5 cmp [_get_kb1],-91
030F B006 jnz L87
0311 .dbline 363
0311 ; {
0311 .dbline 364
0311 ; L_SHIFT = FALSE;
0311 550100 mov [_L_SHIFT],0
0314 .dbline 365
0314 ; }
0314 801D xjmp L88
0316 L87:
0316 .dbline 366
0316 ; else if(get_kb1==0xA6)
0316 3C0EA6 cmp [_get_kb1],-90
0319 B006 jnz L89
031B .dbline 367
031B ; {
031B .dbline 368
031B ; L_CTRL = FALSE;
031B 550000 mov [_L_CTRL],0
031E .dbline 369
031E ; }
031E 8013 xjmp L90
0320 L89:
0320 .dbline 370
0320 ; else if(get_kb1==0xA7)
0320 3C0EA7 cmp [_get_kb1],-89
0323 B006 jnz L91
0325 .dbline 371
0325 ; {
0325 .dbline 372
0325 ; L_ALT = FALSE;
0325 550200 mov [_L_ALT],0
0328 .dbline 373
0328 ; }
0328 8009 xjmp L92
032A L91:
032A .dbline 374
032A ; else if(get_kb1==0xA8)
032A 3C0EA8 cmp [_get_kb1],-88
032D B004 jnz L93
032F .dbline 375
032F ; {
032F .dbline 376
032F ; R_SHIFT = FALSE;
032F 550500 mov [_R_SHIFT],0
0332 .dbline 377
0332 ; }
0332 L93:
0332 L92:
0332 L90:
0332 L88:
0332 .dbline 379
0332 ;
0332 ; kb_report_valid = TRUE;
0332 560101 mov [X+1],1
0335 .dbline 380
0335 ; }
0335 8258 xjmp L86
0337 L85:
0337 .dbline 381
0337 ; else if(get_kb0==0xA5)//L SHFT start
0337 3C0FA5 cmp [_get_kb0],-91
033A B009 jnz L95
033C .dbline 382
033C ; {
033C .dbline 383
033C ; L_SHIFT = TRUE;
033C 550101 mov [_L_SHIFT],1
033F .dbline 384
033F ; kb_report_valid = TRUE;
033F 560101 mov [X+1],1
0342 .dbline 385
0342 ; }//L SHFT end
0342 824B xjmp L96
0344 L95:
0344 .dbline 386
0344 ; else if(get_kb0==0xA6)//L CTRL start
0344 3C0FA6 cmp [_get_kb0],-90
0347 B009 jnz L97
0349 .dbline 387
0349 ; {
0349 .dbline 388
0349 ; L_CTRL = TRUE;
0349 550001 mov [_L_CTRL],1
034C .dbline 389
034C ; kb_report_valid = TRUE;
034C 560101 mov [X+1],1
034F .dbline 390
034F ; }//L CTRL end
034F 823E xjmp L98
0351 L97:
0351 .dbline 391
0351 ; else if(get_kb0==0xA7)//L ALT start
0351 3C0FA7 cmp [_get_kb0],-89
0354 B009 jnz L99
0356 .dbline 392
0356 ; {
0356 .dbline 393
0356 ; L_ALT = TRUE;
0356 550201 mov [_L_ALT],1
0359 .dbline 394
0359 ; kb_report_valid = TRUE;
0359 560101 mov [X+1],1
035C .dbline 395
035C ; }//L ALT end
035C 8231 xjmp L100
035E L99:
035E .dbline 396
035E ; else if(get_kb0==0xA8)//R SHIFT
035E 3C0FA8 cmp [_get_kb0],-88
0361 B009 jnz L101
0363 .dbline 397
0363 ; {
0363 .dbline 398
0363 ; R_SHIFT = TRUE;
0363 550501 mov [_R_SHIFT],1
0366 .dbline 399
0366 ; kb_report_valid = TRUE;
0366 560101 mov [X+1],1
0369 .dbline 400
0369 ; }//R SHIFT end
0369 8224 xjmp L102
036B L101:
036B .dbline 401
036B ; else if(get_kb0==0xE1)//PAUSE start
036B 3C0FE1 cmp [_get_kb0],-31
036E B013 jnz L103
0370 .dbline 402
0370 ; {
0370 .dbline 403
0370 ; if(get_kb1==0xA6)
0370 3C0EA6 cmp [_get_kb1],-90
0373 B009 jnz L105
0375 .dbline 404
0375 ; {
0375 .dbline 405
0375 ; report_packet_kb.kb2 = 0x48;
0375 552348 mov [_report_packet_kb+2],72
0378 .dbline 406
0378 ; kb_report_valid = TRUE;
0378 560101 mov [X+1],1
037B .dbline 407
037B ; }
037B 8212 xjmp L104
037D L105:
037D .dbline 409
037D ; else
037D ; {
037D .dbline 410
037D ; kb_report_valid = FALSE;
037D 560100 mov [X+1],0
0380 .dbline 411
0380 ; }
0380 .dbline 412
0380 ; }//PAUSE end
0380 820D xjmp L104
0382 L103:
0382 .dbline 413
0382 ; else if(get_kb0==0xE0)//get_kb0=0xE0 start
0382 3C0FE0 cmp [_get_kb0],-32
0385 B1E6 jnz L108
0387 .dbline 414
0387 ; {
0387 .dbline 415
0387 ; if(get_kb1==0xF0)//This is a break CODE of multi-bytes code,need do nothing
0387 3C0EF0 cmp [_get_kb1],-16
038A B054 jnz L110
038C .dbline 416
038C ; {
038C .dbline 417
038C ; if(get_kb2==0x1F)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -