📄 main.asm
字号:
$0497 $3001 MOVLW 1
$0498 $00D1 MOVWF FARG_LCD_Out+1
$0499 $30A0 MOVLW lstr4_main
$049A $00D2 MOVWF FARG_LCD_Out+2
$049B $2166 CALL _LCD_Out
;main.c,290 :: LCD_Out(2,1," PLEASE WAIT ");
$049C $3002 MOVLW 2
$049D $00D0 MOVWF FARG_LCD_Out+0
$049E $3001 MOVLW 1
$049F $00D1 MOVWF FARG_LCD_Out+1
$04A0 $30B1 MOVLW lstr5_main
$04A1 $00D2 MOVWF FARG_LCD_Out+2
$04A2 $2166 CALL _LCD_Out
;main.c,291 :: PWM_Init (1000);
$04A3 $1412 BSF T2CON, T2CKPS0
$04A4 $1492 BSF T2CON, T2CKPS1
$04A5 $307C MOVLW 124
$04A6 $1683 BSF STATUS, RP0
$04A7 $0092 MOVWF PR2
$04A8 $23E4 CALL _PWM_Init
;main.c,292 :: Pwm_Change_Duty(50);
$04A9 $3032 MOVLW 50
$04AA $00AE MOVWF FARG_PWM_Change_Duty+0
$04AB $224D CALL _PWM_Change_Duty
;main.c,293 :: PWM_Start();
$04AC $21F9 CALL _PWM_Start
;main.c,294 :: Seconds_Delay(4);
$04AD $3004 MOVLW 4
$04AE $00D0 MOVWF FARG_Seconds_Delay+0
$04AF $21CA CALL _Seconds_Delay
;main.c,295 :: Delete_Specific_User(0);
$04B0 $01AE CLRF FARG_Delete_Specific_User+0, 1
$04B1 $2286 CALL _Delete_Specific_User
;main.c,296 :: Set_Enroll_Sampling_Counts();
$04B2 $2295 CALL _Set_Enroll_Sampling_Counts
;main.c,297 :: Disable_Scanners_Timeout();
$04B3 $22A3 CALL _Disable_Scanners_Timeout
;main.c,298 :: Adjust_Acceptance_level();
$04B4 $22B1 CALL _Adjust_Acceptance_level
;main.c,299 :: LCD_Cmd(LCD_CLEAR);
$04B5 $3001 MOVLW 1
$04B6 $00D7 MOVWF FARG_Lcd_Cmd+0
$04B7 $201F CALL _Lcd_Cmd
;main.c,300 :: while (1)
$04B8 $ L_main_25:
;main.c,302 :: event = 0;
$04B8 $01AD CLRF _event, 1
;main.c,303 :: pc_supply_control = off;
$04B9 $1187 BCF PORTC, 3
;main.c,304 :: while (!event)
$04BA $ L_main_27:
$04BA $082D MOVF _event, 0
$04BB $1D03 BTFSS STATUS, Z
$04BC $2D99 GOTO L_main_28
;main.c,306 :: if (PORTD.F3)
$04BD $1D88 BTFSS PORTD, 3
$04BE $2CE6 GOTO L_main_29
;main.c,308 :: LCD_Cmd(LCD_CLEAR);
$04BF $3001 MOVLW 1
$04C0 $00D7 MOVWF FARG_Lcd_Cmd+0
$04C1 $201F CALL _Lcd_Cmd
;main.c,309 :: Show_Splash_message();
$04C2 $22C0 CALL _Show_Splash_message
;main.c,310 :: seconds_delay(1);
$04C3 $3001 MOVLW 1
$04C4 $00D0 MOVWF FARG_Seconds_Delay+0
$04C5 $21CA CALL _Seconds_Delay
;main.c,311 :: Delete_Specific_User(1);
$04C6 $3001 MOVLW 1
$04C7 $00AE MOVWF FARG_Delete_Specific_User+0
$04C8 $2286 CALL _Delete_Specific_User
;main.c,312 :: Delete_Specific_User(4);
$04C9 $3004 MOVLW 4
$04CA $00AE MOVWF FARG_Delete_Specific_User+0
$04CB $2286 CALL _Delete_Specific_User
;main.c,313 :: user_number = 1; //user1 right finger print location
$04CC $3001 MOVLW 1
$04CD $00AC MOVWF _user_number
;main.c,314 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
$04CE $3001 MOVLW 1
$04CF $00AE MOVWF FARG_Enroll_Users_Fingerprint+0
$04D0 $2313 CALL _Enroll_Users_Fingerprint
;main.c,315 :: user_number = 4; //user1 left finger print location
$04D1 $3004 MOVLW 4
$04D2 $00AC MOVWF _user_number
;main.c,316 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
$04D3 $3004 MOVLW 4
$04D4 $00AE MOVWF FARG_Enroll_Users_Fingerprint+0
$04D5 $2313 CALL _Enroll_Users_Fingerprint
;main.c,317 :: LCD_Cmd(LCD_CLEAR);
$04D6 $3001 MOVLW 1
$04D7 $00D7 MOVWF FARG_Lcd_Cmd+0
$04D8 $201F CALL _Lcd_Cmd
;main.c,318 :: Show_EEPROM_Stored_Messages(1,0xb0);
$04D9 $3001 MOVLW 1
$04DA $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$04DB $30B0 MOVLW 176
$04DC $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$04DD $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,319 :: seconds_delay(5);
$04DE $3005 MOVLW 5
$04DF $00D0 MOVWF FARG_Seconds_Delay+0
$04E0 $21CA CALL _Seconds_Delay
;main.c,320 :: LCD_Cmd(LCD_CLEAR);
$04E1 $3001 MOVLW 1
$04E2 $00D7 MOVWF FARG_Lcd_Cmd+0
$04E3 $201F CALL _Lcd_Cmd
;main.c,321 :: event = 1;
$04E4 $3001 MOVLW 1
$04E5 $00AD MOVWF _event
;main.c,322 :: }
$04E6 $ L_main_29:
;main.c,323 :: if ((PORTC & 0x30) == 0x10)
$04E6 $3030 MOVLW 48
$04E7 $0507 ANDWF PORTC, 0
$04E8 $00F1 MOVWF STACK_1
$04E9 $0871 MOVF STACK_1, 0
$04EA $3A10 XORLW 16
$04EB $1D03 BTFSS STATUS, Z
$04EC $2D14 GOTO L_main_30
;main.c,325 :: LCD_Cmd(LCD_CLEAR);
$04ED $3001 MOVLW 1
$04EE $00D7 MOVWF FARG_Lcd_Cmd+0
$04EF $201F CALL _Lcd_Cmd
;main.c,326 :: Show_Splash_message();
$04F0 $22C0 CALL _Show_Splash_message
;main.c,327 :: seconds_delay(1);
$04F1 $3001 MOVLW 1
$04F2 $00D0 MOVWF FARG_Seconds_Delay+0
$04F3 $21CA CALL _Seconds_Delay
;main.c,328 :: Delete_Specific_User(2);
$04F4 $3002 MOVLW 2
$04F5 $00AE MOVWF FARG_Delete_Specific_User+0
$04F6 $2286 CALL _Delete_Specific_User
;main.c,329 :: Delete_Specific_User(5);
$04F7 $3005 MOVLW 5
$04F8 $00AE MOVWF FARG_Delete_Specific_User+0
$04F9 $2286 CALL _Delete_Specific_User
;main.c,330 :: user_number = 2; //user1 right finger print location
$04FA $3002 MOVLW 2
$04FB $00AC MOVWF _user_number
;main.c,331 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
$04FC $3002 MOVLW 2
$04FD $00AE MOVWF FARG_Enroll_Users_Fingerprint+0
$04FE $2313 CALL _Enroll_Users_Fingerprint
;main.c,332 :: user_number = 5; //user1 left finger print location
$04FF $3005 MOVLW 5
$0500 $00AC MOVWF _user_number
;main.c,333 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
$0501 $3005 MOVLW 5
$0502 $00AE MOVWF FARG_Enroll_Users_Fingerprint+0
$0503 $2313 CALL _Enroll_Users_Fingerprint
;main.c,334 :: LCD_Cmd(LCD_CLEAR);
$0504 $3001 MOVLW 1
$0505 $00D7 MOVWF FARG_Lcd_Cmd+0
$0506 $201F CALL _Lcd_Cmd
;main.c,335 :: Show_EEPROM_Stored_Messages(1,0xb0);
$0507 $3001 MOVLW 1
$0508 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0509 $30B0 MOVLW 176
$050A $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$050B $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,336 :: seconds_delay(5);
$050C $3005 MOVLW 5
$050D $00D0 MOVWF FARG_Seconds_Delay+0
$050E $21CA CALL _Seconds_Delay
;main.c,337 :: LCD_Cmd(LCD_CLEAR);
$050F $3001 MOVLW 1
$0510 $00D7 MOVWF FARG_Lcd_Cmd+0
$0511 $201F CALL _Lcd_Cmd
;main.c,338 :: event = 1;
$0512 $3001 MOVLW 1
$0513 $00AD MOVWF _event
;main.c,339 :: }
$0514 $ L_main_30:
;main.c,340 :: if ((PORTC & 0x30) == 0x20)
$0514 $3030 MOVLW 48
$0515 $0507 ANDWF PORTC, 0
$0516 $00F1 MOVWF STACK_1
$0517 $0871 MOVF STACK_1, 0
$0518 $3A20 XORLW 32
$0519 $1D03 BTFSS STATUS, Z
$051A $2D42 GOTO L_main_31
;main.c,342 :: LCD_Cmd(LCD_CLEAR);
$051B $3001 MOVLW 1
$051C $00D7 MOVWF FARG_Lcd_Cmd+0
$051D $201F CALL _Lcd_Cmd
;main.c,343 :: Show_Splash_message();
$051E $22C0 CALL _Show_Splash_message
;main.c,344 :: seconds_delay(1);
$051F $3001 MOVLW 1
$0520 $00D0 MOVWF FARG_Seconds_Delay+0
$0521 $21CA CALL _Seconds_Delay
;main.c,345 :: Delete_Specific_User(3);
$0522 $3003 MOVLW 3
$0523 $00AE MOVWF FARG_Delete_Specific_User+0
$0524 $2286 CALL _Delete_Specific_User
;main.c,346 :: Delete_Specific_User(6);
$0525 $3006 MOVLW 6
$0526 $00AE MOVWF FARG_Delete_Specific_User+0
$0527 $2286 CALL _Delete_Specific_User
;main.c,347 :: user_number = 3; //user1 right finger print location
$0528 $3003 MOVLW 3
$0529 $00AC MOVWF _user_number
;main.c,348 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
$052A $3003 MOVLW 3
$052B $00AE MOVWF FARG_Enroll_Users_Fingerprint+0
$052C $2313 CALL _Enroll_Users_Fingerprint
;main.c,349 :: user_number = 6; //user1 left finger print location
$052D $3006 MOVLW 6
$052E $00AC MOVWF _user_number
;main.c,350 :: Enroll_Users_Fingerprint(user_number); //enroll the finger print user 1
$052F $3006 MOVLW 6
$0530 $00AE MOVWF FARG_Enroll_Users_Fingerprint+0
$0531 $2313 CALL _Enroll_Users_Fingerprint
;main.c,351 :: LCD_Cmd(LCD_CLEAR);
$0532 $3001 MOVLW 1
$0533 $00D7 MOVWF FARG_Lcd_Cmd+0
$0534 $201F CALL _Lcd_Cmd
;main.c,352 :: Show_EEPROM_Stored_Messages(1,0xb0);
$0535 $3001 MOVLW 1
$0536 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0537 $30B0 MOVLW 176
$0538 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0539 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,353 :: seconds_delay(5);
$053A $3005 MOVLW 5
$053B $00D0 MOVWF FARG_Seconds_Delay+0
$053C $21CA CALL _Seconds_Delay
;main.c,354 :: LCD_Cmd(LCD_CLEAR);
$053D $3001 MOVLW 1
$053E $00D7 MOVWF FARG_Lcd_Cmd+0
$053F $201F CALL _Lcd_Cmd
;main.c,355 :: event = 1;
$0540 $3001 MOVLW 1
$0541 $00AD MOVWF _event
;main.c,356 :: }
$0542 $ L_main_31:
;main.c,357 :: if ((PORTC & 0x30) == 0x30)//PIR1.RCIF)
$0542 $3030 MOVLW 48
$0543 $0507 ANDWF PORTC, 0
$0544 $00F1 MOVWF STACK_1
$0545 $0871 MOVF STACK_1, 0
$0546 $3A30 XORLW 48
$0547 $1D03 BTFSS STATUS, Z
$0548 $2D98 GOTO L_main_32
;main.c,359 :: LCD_Out(1,1," PLACE FINGER ");
$0549 $3001 MOVLW 1
$054A $00D0 MOVWF FARG_LCD_Out+0
$054B $3001 MOVLW 1
$054C $00D1 MOVWF FARG_LCD_Out+1
$054D $30C2 MOVLW lstr6_main
$054E $00D2 MOVWF FARG_LCD_Out+2
$054F $2166 CALL _LCD_Out
;main.c,360 :: LCD_Out(2,1," ON THE SCANNER ");
$0550 $3002 MOVLW 2
$0551 $00D0 MOVWF FARG_LCD_Out+0
$0552 $3001 MOVLW 1
$0553 $00D1 MOVWF FARG_LCD_Out+1
$0554 $30D3 MOVLW lstr7_main
$0555 $00D2 MOVWF FARG_LCD_Out+2
$0556 $2166 CALL _LCD_Out
;main.c,361 :: Send_Scan_Fingerprint_Command();
$0557 $238B CALL _Send_Scan_Fingerprint_Command
;main.c,362 :: LCD_Cmd(LCD_CLEAR);
$0558 $3001 MOVLW 1
$0559 $00D7 MOVWF FARG_Lcd_Cmd+0
$055A $201F CALL _Lcd_Cmd
;main.c,363 :: if (data_frame[3] == 1 ||data_frame[3] == 4)
$055B $0825 MOVF _data_frame+3, 0
$055C $3A01 XORLW 1
$055D $1903 BTFSC STATUS, Z
$055E $2D63 GOTO L455_ex_L_main_35
$055F $0825 MOVF _data_frame+3, 0
$0560 $3A04 XORLW 4
$0561 $1D03 BTFSS STATUS, Z
$0562 $2D6A GOTO L_main_35
$0563 $ L455_ex_L_main_35:
;main.c,365 :: Show_Welcome_String();
$0563 $2396 CALL _Show_Welcome_String
;main.c,366 :: Show_EEPROM_Stored_Messages(2,0);
$0564 $3002 MOVLW 2
$0565 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0566 $01D1 CLRF FARG_Show_EEPROM_Stored_Messages+1, 1
$0567 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,367 :: Boot_Computer();
$0568 $23C1 CALL _Boot_Computer
;main.c,368 :: goto exit
$0569 $2D8F GOTO ___main_exit
;main.c,369 :: }
$056A $ L_main_35:
;main.c,370 :: if (data_frame[3] == 2 || data_frame[3] == 5)
$056A $0825 MOVF _data_frame+3, 0
$056B $3A02 XORLW 2
$056C $1903 BTFSC STATUS, Z
$056D $2D72 GOTO L473_ex_L_main_38
$056E $0825 MOVF _data_frame+3, 0
$056F $3A05 XORLW 5
$0570 $1D03 BTFSS STATUS, Z
$0571 $2D7A GOTO L_main_38
$0572 $ L473_ex_L_main_38:
;main.c,372 :: Show_Welcome_String();
$0572 $2396 CALL _Show_Welcome_String
;main.c,373 :: Show_EEPROM_Stored_Messages(2,0x10);
$0573 $3002 MOVLW 2
$0574 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0575 $3010 MOVLW 16
$0576 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0577 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,374 :: Boot_Computer();
$0578 $23C1 CALL _Boot_Computer
;main.c,375 :: goto exit
$0579 $2D8F GOTO ___main_exit
;main.c,376 :: }
$057A $ L_main_38:
;main.c,377 :: if (data_frame[3] == 3 ||data_frame[3] == 6)
$057A $0825 MOVF _data_frame+3, 0
$057B $3A03 XORLW 3
$057C $1903 BTFSC STATUS, Z
$057D $2D82 GOTO L491_ex_L_main_41
$057E $0825 MOVF _data_frame+3, 0
$057F $3A06 XORLW 6
$0580 $1D03 BTFSS STATUS, Z
$0581 $2D8A GOTO L_main_41
$0582 $ L491_ex_L_main_41:
;main.c,379 :: Show_Welcome_String();
$0582 $2396 CALL _Show_Welcome_String
;main.c,380 :: Show_EEPROM_Stored_Messages(2,0x20);
$0583 $3002 MOVLW 2
$0584 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0585 $3020 MOVLW 32
$0586 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0587 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,381 :: Boot_Computer();
$0588 $23C1 CALL _Boot_Computer
;main.c,382 :: goto exit
$0589 $2D8F GOTO ___main_exit
;main.c,383 :: }
$058A $ L_main_41:
;main.c,384 :: Show_EEPROM_Stored_Messages(1,0x30);
$058A $3001 MOVLW 1
$058B $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$058C $3030 MOVLW 48
$058D $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$058E $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,385 :: exit: Seconds_Delay (3);
$058F $ ___main_exit:
$058F $3003 MOVLW 3
$0590 $00D0 MOVWF FARG_Seconds_Delay+0
$0591 $21CA CALL _Seconds_Delay
;main.c,386 :: LCD_Cmd(LCD_CLEAR);
$0592 $3001 MOVLW 1
$0593 $00D7 MOVWF FARG_Lcd_Cmd+0
$0594 $201F CALL _Lcd_Cmd
;main.c,387 :: Clear_Buffer_Registers();
$0595 $2079 CALL _Clear_Buffer_Registers
;main.c,388 :: event = 1;
$0596 $3001 MOVLW 1
$0597 $00AD MOVWF _event
;main.c,389 :: }
$0598 $ L_main_32:
;main.c,390 :: }
$0598 $2CBA GOTO L_main_27
$0599 $ L_main_28:
;main.c,391 :: }
$0599 $2CB8 GOTO L_main_25
;main.c,392 :: }
$059A $2D9A GOTO $
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -