⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 实现2个ps/2接口转到1个USB接口功能
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -