📄 main.lst
字号:
$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 $
//** Procedures locations **
//ADDRESS PROCEDURE
//----------------------------------------------
$0004 Delay_1us
$0007 Delay_5500us
$0018 Delay_50us
$001F Lcd_Cmd
$005D Determine_Checksum_of_Data_frame
$0069 Usart_Write
$0079 Clear_Buffer_Registers
$0084 Usart_Read
$008F Lcd_Chr_CP
$0098 EEprom_read
$00A4 Lcd_Chr
$00DB Mul_16x16_S
$0125 Construct_Scanner_Command
$012E Transmit_Command_to_Scanner
$013E Receive_Response_from_Scanner
$0166 LCD_Out
$01A9 Show_EEPROM_Stored_Messages
$01CA Seconds_Delay
$01F1 PWM_Stop
$01F9 PWM_Start
$0201 Lcd_Init
$024D PWM_Change_Duty
$0286 Delete_Specific_User
$0295 Set_Enroll_Sampling_Counts
$02A3 Disable_Scanners_Timeout
$02B1 Adjust_Acceptance_level
$02C0 Show_Splash_message
$0313 Enroll_Users_Fingerprint
$038B Send_Scan_Fingerprint_Command
$0396 Show_Welcome_String
$03C1 Boot_Computer
$03D4 Usart_Init
$03E4 PWM_Init
$03EA main
//** Labels locations **
//ADDRESS LABEL
//----------------------------------------------
$0004 _Delay_1us:
$0007 _Delay_5500us:
$0018 _Delay_50us:
$001F _Lcd_Cmd:
$0026 L_Lcd_Cmd_0:
$0039 L_Lcd_Cmd_1:
$003A L_Lcd_Cmd_2:
$003F L_Lcd_Cmd_3:
$0052 L_Lcd_Cmd_4:
$0053 L_Lcd_Cmd_5:
$005B L_Lcd_Cmd_6:
$005C L_Lcd_Cmd_7:
$005D _Determine_Checksum_of_Data_frame:
$0069 _Usart_Write:
$0069 L_Usart_Write_3:
$0075 L_Usart_Write_4:
$0079 _Clear_Buffer_Registers:
$0084 _Usart_Read:
$008C L_Usart_Read_2:
$008F _Lcd_Chr_CP:
$0098 _EEprom_read:
$00A4 _Lcd_Chr:
$00A5 L_Lcd_Chr_10:
$00AA L_Lcd_Chr_11:
$00AD L_Lcd_Chr_12:
$00B0 L_Lcd_Chr_13:
$00B3 L_Lcd_Chr_14:
$00B6 L_Lcd_Chr_8:
$00C9 L_Lcd_Chr_9:
$00DB _Mul_16x16_S:
$0125 _Construct_Scanner_Command:
$012E _Transmit_Command_to_Scanner:
$0131 L_Transmit_Command_to_Scanner_4:
$013D L_Transmit_Command_to_Scanner_5:
$013E _Receive_Response_from_Scanner:
$0140 L_Receive_Response_from_Scanner_6:
$0153 L_Receive_Response_from_Scanner_8:
$0154 L_Receive_Response_from_Scanner_7:
$0155 L_Receive_Response_from_Scanner_9:
$0164 L_Receive_Response_from_Scanner_11:
$0165 L_Receive_Response_from_Scanner_10:
$0166 _LCD_Out:
$0167 L_LCD_Out_19:
$016C L_LCD_Out_20:
$016F L_LCD_Out_21:
$0172 L_LCD_Out_22:
$0175 L_LCD_Out_23:
$0178 L_LCD_Out_17:
$018B L_LCD_Out_18:
$0196 L_LCD_Out_24:
$01A6 L_LCD_Out_25:
$01A9 _Show_EEPROM_Stored_Messages:
$01AF L_Show_EEPROM_Stored_Messages_0:
$01B5 L_Sh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -