📄 main.lst
字号:
;main.c,129 :: void Delete_Specific_User(unsigned short number)
;main.c,131 :: data_frame[1] = 0x04; // delete user command
$0286 $3004 MOVLW 4
$0287 $1303 BCF STATUS, RP1
$0288 $1283 BCF STATUS, RP0
$0289 $00A3 MOVWF _data_frame+1
;main.c,132 :: data_frame[2] = 0; // this byte is MSB of the user number
$028A $01A4 CLRF _data_frame+2, 1
;main.c,133 :: data_frame[3] = number; // this byte is LSB of the user number
$028B $082E MOVF FARG_Delete_Specific_User+0, 0
$028C $00A5 MOVWF _data_frame+3
;main.c,134 :: data_frame[4] = 0;
$028D $01A6 CLRF _data_frame+4, 1
;main.c,135 :: Construct_Scanner_Command();
$028E $2125 CALL _Construct_Scanner_Command
;main.c,136 :: retry1:Transmit_Command_to_Scanner();
$028F $ ___Delete_Specific_User_retry1:
$028F $212E CALL _Transmit_Command_to_Scanner
;main.c,137 :: Receive_Response_from_Scanner();
$0290 $213E CALL _Receive_Response_from_Scanner
;main.c,138 :: if (data_frame[4])
$0291 $0826 MOVF _data_frame+4, 0
$0292 $1D03 BTFSS STATUS, Z
$0293 $2A8F GOTO ___Delete_Specific_User_retry1
;main.c,141 :: }
$0294 $ L_Delete_Specific_User_16:
;main.c,142 :: }
$0294 $0008 RETURN
$0295 $ _Set_Enroll_Sampling_Counts:
;main.c,159 :: void Set_Enroll_Sampling_Counts()
;main.c,161 :: data_frame[1] = 0x2d; // enroll sampling command
$0295 $302D MOVLW 45
$0296 $1303 BCF STATUS, RP1
$0297 $1283 BCF STATUS, RP0
$0298 $00A3 MOVWF _data_frame+1
;main.c,162 :: data_frame[2] = 0;
$0299 $01A4 CLRF _data_frame+2, 1
;main.c,163 :: data_frame[3] = 0; //scan sample up to three times
$029A $01A5 CLRF _data_frame+3, 1
;main.c,164 :: data_frame[4] = 0; //write data
$029B $01A6 CLRF _data_frame+4, 1
;main.c,165 :: Construct_Scanner_Command();
$029C $2125 CALL _Construct_Scanner_Command
;main.c,166 :: retry3:Transmit_Command_to_Scanner();
$029D $ ___Set_Enroll_Sampling_Counts_retry3:
$029D $212E CALL _Transmit_Command_to_Scanner
;main.c,167 :: Receive_Response_from_Scanner();
$029E $213E CALL _Receive_Response_from_Scanner
;main.c,168 :: if (data_frame[4])
$029F $0826 MOVF _data_frame+4, 0
$02A0 $1D03 BTFSS STATUS, Z
$02A1 $2A9D GOTO ___Set_Enroll_Sampling_Counts_retry3
;main.c,171 :: }
$02A2 $ L_Set_Enroll_Sampling_Counts_18:
;main.c,172 :: }
$02A2 $0008 RETURN
$02A3 $ _Disable_Scanners_Timeout:
;main.c,144 :: void Disable_Scanners_Timeout()
;main.c,146 :: data_frame[1] = 0x2e; // change timeout command
$02A3 $302E MOVLW 46
$02A4 $1303 BCF STATUS, RP1
$02A5 $1283 BCF STATUS, RP0
$02A6 $00A3 MOVWF _data_frame+1
;main.c,147 :: data_frame[2] = 0;
$02A7 $01A4 CLRF _data_frame+2, 1
;main.c,148 :: data_frame[3] = 0; // timeout is disabled
$02A8 $01A5 CLRF _data_frame+3, 1
;main.c,149 :: data_frame[4] = 0; // write data
$02A9 $01A6 CLRF _data_frame+4, 1
;main.c,150 :: Construct_Scanner_Command();
$02AA $2125 CALL _Construct_Scanner_Command
;main.c,151 :: retry2:Transmit_Command_to_Scanner();
$02AB $ ___Disable_Scanners_Timeout_retry2:
$02AB $212E CALL _Transmit_Command_to_Scanner
;main.c,152 :: Receive_Response_from_Scanner();
$02AC $213E CALL _Receive_Response_from_Scanner
;main.c,153 :: if (data_frame[4])
$02AD $0826 MOVF _data_frame+4, 0
$02AE $1D03 BTFSS STATUS, Z
$02AF $2AAB GOTO ___Disable_Scanners_Timeout_retry2
;main.c,156 :: }
$02B0 $ L_Disable_Scanners_Timeout_17:
;main.c,157 :: }
$02B0 $0008 RETURN
$02B1 $ _Adjust_Acceptance_level:
;main.c,239 :: void Adjust_Acceptance_level()
;main.c,241 :: data_frame[1] = 0x28; // adjust recognitio level command
$02B1 $3028 MOVLW 40
$02B2 $1303 BCF STATUS, RP1
$02B3 $1283 BCF STATUS, RP0
$02B4 $00A3 MOVWF _data_frame+1
;main.c,242 :: data_frame[2] = 0; // this byte is MSB of the user number
$02B5 $01A4 CLRF _data_frame+2, 1
;main.c,243 :: data_frame[3] = 9; // strictest level
$02B6 $3009 MOVLW 9
$02B7 $00A5 MOVWF _data_frame+3
;main.c,244 :: data_frame[4] = 0;
$02B8 $01A6 CLRF _data_frame+4, 1
;main.c,245 :: Construct_Scanner_Command();
$02B9 $2125 CALL _Construct_Scanner_Command
;main.c,246 :: retry4:Transmit_Command_to_Scanner();
$02BA $ ___Adjust_Acceptance_level_retry4:
$02BA $212E CALL _Transmit_Command_to_Scanner
;main.c,247 :: Receive_Response_from_Scanner();
$02BB $213E CALL _Receive_Response_from_Scanner
;main.c,248 :: if (data_frame[4])
$02BC $0826 MOVF _data_frame+4, 0
$02BD $1D03 BTFSS STATUS, Z
$02BE $2ABA GOTO ___Adjust_Acceptance_level_retry4
;main.c,251 :: }
$02BF $ L_Adjust_Acceptance_level_24:
;main.c,252 :: }
$02BF $0008 RETURN
$02C0 $ _Show_Splash_message:
$02C0 $3020 MOVLW 32
$02C1 $1303 BCF STATUS, RP1
$02C2 $1283 BCF STATUS, RP0
$02C3 $00AE MOVWF lstr1_main+0
$02C4 $3020 MOVLW 32
$02C5 $00AF MOVWF lstr1_main+1
$02C6 $3046 MOVLW 70
$02C7 $00B0 MOVWF lstr1_main+2
$02C8 $3049 MOVLW 73
$02C9 $00B1 MOVWF lstr1_main+3
$02CA $304E MOVLW 78
$02CB $00B2 MOVWF lstr1_main+4
$02CC $3047 MOVLW 71
$02CD $00B3 MOVWF lstr1_main+5
$02CE $3045 MOVLW 69
$02CF $00B4 MOVWF lstr1_main+6
$02D0 $3052 MOVLW 82
$02D1 $00B5 MOVWF lstr1_main+7
$02D2 $3020 MOVLW 32
$02D3 $00B6 MOVWF lstr1_main+8
$02D4 $3050 MOVLW 80
$02D5 $00B7 MOVWF lstr1_main+9
$02D6 $3052 MOVLW 82
$02D7 $00B8 MOVWF lstr1_main+10
$02D8 $3049 MOVLW 73
$02D9 $00B9 MOVWF lstr1_main+11
$02DA $304E MOVLW 78
$02DB $00BA MOVWF lstr1_main+12
$02DC $3054 MOVLW 84
$02DD $00BB MOVWF lstr1_main+13
$02DE $3020 MOVLW 32
$02DF $00BC MOVWF lstr1_main+14
$02E0 $3020 MOVLW 32
$02E1 $00BD MOVWF lstr1_main+15
$02E2 $01BE CLRF lstr1_main+16
$02E3 $3020 MOVLW 32
$02E4 $00BF MOVWF lstr2_main+0
$02E5 $3020 MOVLW 32
$02E6 $00C0 MOVWF lstr2_main+1
$02E7 $3020 MOVLW 32
$02E8 $00C1 MOVWF lstr2_main+2
$02E9 $3045 MOVLW 69
$02EA $00C2 MOVWF lstr2_main+3
$02EB $304E MOVLW 78
$02EC $00C3 MOVWF lstr2_main+4
$02ED $3052 MOVLW 82
$02EE $00C4 MOVWF lstr2_main+5
$02EF $304F MOVLW 79
$02F0 $00C5 MOVWF lstr2_main+6
$02F1 $304C MOVLW 76
$02F2 $00C6 MOVWF lstr2_main+7
$02F3 $304C MOVLW 76
$02F4 $00C7 MOVWF lstr2_main+8
$02F5 $304D MOVLW 77
$02F6 $00C8 MOVWF lstr2_main+9
$02F7 $3045 MOVLW 69
$02F8 $00C9 MOVWF lstr2_main+10
$02F9 $304E MOVLW 78
$02FA $00CA MOVWF lstr2_main+11
$02FB $3054 MOVLW 84
$02FC $00CB MOVWF lstr2_main+12
$02FD $3020 MOVLW 32
$02FE $00CC MOVWF lstr2_main+13
$02FF $3020 MOVLW 32
$0300 $00CD MOVWF lstr2_main+14
$0301 $3020 MOVLW 32
$0302 $00CE MOVWF lstr2_main+15
$0303 $01CF CLRF lstr2_main+16
;main.c,15 :: void Show_Splash_message()
;main.c,17 :: LCD_Out(1,1," FINGER PRINT ");
$0304 $3001 MOVLW 1
$0305 $00D0 MOVWF FARG_LCD_Out+0
$0306 $3001 MOVLW 1
$0307 $00D1 MOVWF FARG_LCD_Out+1
$0308 $302E MOVLW lstr1_main
$0309 $00D2 MOVWF FARG_LCD_Out+2
$030A $2166 CALL _LCD_Out
;main.c,18 :: LCD_Out(2,1," ENROLLMENT ");
$030B $3002 MOVLW 2
$030C $00D0 MOVWF FARG_LCD_Out+0
$030D $3001 MOVLW 1
$030E $00D1 MOVWF FARG_LCD_Out+1
$030F $303F MOVLW lstr2_main
$0310 $00D2 MOVWF FARG_LCD_Out+2
$0311 $2166 CALL _LCD_Out
;main.c,19 :: }
$0312 $0008 RETURN
$0313 $ _Enroll_Users_Fingerprint:
;main.c,174 :: unsigned short Enroll_Users_Fingerprint(unsigned short number)
;main.c,177 :: error = 0;
$0313 $1303 BCF STATUS, RP1
$0314 $1283 BCF STATUS, RP0
$0315 $01AF CLRF Enroll_Users_Fingerprint_error_L0, 1
;main.c,178 :: Clear_Buffer_Registers();
$0316 $2079 CALL _Clear_Buffer_Registers
;main.c,179 :: if (number <= 3)
$0317 $082E MOVF FARG_Enroll_Users_Fingerprint+0, 0
$0318 $3C03 SUBLW 3
$0319 $1C03 BTFSS STATUS, C
$031A $2B25 GOTO L_Enroll_Users_Fingerprint_19
;main.c,181 :: Show_EEPROM_Stored_Messages(1,0x40);
$031B $3001 MOVLW 1
$031C $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$031D $3040 MOVLW 64
$031E $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$031F $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,182 :: Show_EEPROM_Stored_Messages(2,0x50);
$0320 $3002 MOVLW 2
$0321 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0322 $3050 MOVLW 80
$0323 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0324 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,183 :: }
$0325 $ L_Enroll_Users_Fingerprint_19:
;main.c,184 :: if (number >= 4)
$0325 $3004 MOVLW 4
$0326 $022E SUBWF FARG_Enroll_Users_Fingerprint+0, 0
$0327 $1C03 BTFSS STATUS, C
$0328 $2B33 GOTO L_Enroll_Users_Fingerprint_20
;main.c,186 :: Show_EEPROM_Stored_Messages(1,0x60);
$0329 $3001 MOVLW 1
$032A $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$032B $3060 MOVLW 96
$032C $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$032D $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,187 :: Show_EEPROM_Stored_Messages(2,0x70);
$032E $3002 MOVLW 2
$032F $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0330 $3070 MOVLW 112
$0331 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0332 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,188 :: }
$0333 $ L_Enroll_Users_Fingerprint_20:
;main.c,189 :: data_frame[1] = 0x01; //scan for the 1st time
$0333 $3001 MOVLW 1
$0334 $00A3 MOVWF _data_frame+1
;main.c,190 :: data_frame[2] = 0; // this byte is MSB of the user number
$0335 $01A4 CLRF _data_frame+2, 1
;main.c,191 :: data_frame[3] = number; // this byte is LSB of the user number
$0336 $082E MOVF FARG_Enroll_Users_Fingerprint+0, 0
$0337 $00A5 MOVWF _data_frame+3
;main.c,192 :: data_frame[4] = 1; // set priveledge to 1 (optional)
$0338 $3001 MOVLW 1
$0339 $00A6 MOVWF _data_frame+4
;main.c,193 :: Construct_Scanner_Command();
$033A $2125 CALL _Construct_Scanner_Command
;main.c,194 :: Transmit_Command_to_Scanner();
$033B $212E CALL _Transmit_Command_to_Scanner
;main.c,195 :: Receive_Response_from_Scanner();
$033C $213E CALL _Receive_Response_from_Scanner
;main.c,196 :: if (data_frame[4])
$033D $0826 MOVF _data_frame+4, 0
$033E $1903 BTFSC STATUS, Z
$033F $2B45 GOTO L_Enroll_Users_Fingerprint_21
;main.c,198 :: error = 1;
$0340 $3001 MOVLW 1
$0341 $00AF MOVWF Enroll_Users_Fingerprint_error_L0
;main.c,199 :: return error;
$0342 $3001 MOVLW 1
$0343 $00F0 MOVWF STACK_0
$0344 $0008 RETURN
;main.c,200 :: }
$0345 $ L_Enroll_Users_Fingerprint_21:
;main.c,201 :: LCD_Cmd(LCD_CLEAR);
$0345 $3001 MOVLW 1
$0346 $00D7 MOVWF FARG_Lcd_Cmd+0
$0347 $201F CALL _Lcd_Cmd
;main.c,202 :: Clear_Buffer_Registers();
$0348 $2079 CALL _Clear_Buffer_Registers
;main.c,203 :: seconds_delay(1);
$0349 $3001 MOVLW 1
$034A $00D0 MOVWF FARG_Seconds_Delay+0
$034B $21CA CALL _Seconds_Delay
;main.c,204 :: Show_EEPROM_Stored_Messages(1,0x80);
$034C $3001 MOVLW 1
$034D $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$034E $3080 MOVLW 128
$034F $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0350 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,205 :: Show_EEPROM_Stored_Messages(2,0x90);
$0351 $3002 MOVLW 2
$0352 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0353 $3090 MOVLW 144
$0354 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0355 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,206 :: data_frame[1] = 0x02; //scan for the second time
$0356 $3002 MOVLW 2
$0357 $00A3 MOVWF _data_frame+1
;main.c,207 :: data_frame[2] = 0; // this byte is MSB of the user number
$0358 $01A4 CLRF _data_frame+2, 1
;main.c,208 :: data_frame[3] = number; // this byte is LSB of the user number
$0359 $082E MOVF FARG_Enroll_Users_Fingerprint+0, 0
$035A $00A5 MOVWF _data_frame+3
;main.c,209 :: data_frame[4] = 1; // set priveledge to 1
$035B $3001 MOVLW 1
$035C $00A6 MOVWF _data_frame+4
;main.c,210 :: Construct_Scanner_Command();
$035D $2125 CALL _Construct_Scanner_Command
;main.c,211 :: Transmit_Command_to_Scanner();
$035E $212E CALL _Transmit_Command_to_Scanner
;main.c,212 :: Receive_Response_from_Scanner();
$035F $213E CALL _Receive_Response_from_Scanner
;main.c,213 :: if (data_frame[4])
$0360 $0826 MOVF _data_frame+4, 0
$0361 $1903 BTFSC STATUS, Z
$0362 $2B68 GOTO L_Enroll_Users_Fingerprint_22
;main.c,215 :: error = 1;
$0363 $3001 MOVLW 1
$0364 $00AF MOVWF Enroll_Users_Fingerprint_error_L0
;main.c,216 :: return error;
$0365 $3001 MOVLW 1
$0366 $00F0 MOVWF STACK_0
$0367 $0008 RETURN
;main.c,217 :: }
$0368 $ L_Enroll_Users_Fingerprint_22:
;main.c,218 :: LCD_Cmd(LCD_CLEAR);
$0368 $3001 MOVLW 1
$0369 $00D7 MOVWF FARG_Lcd_Cmd+0
$036A $201F CALL _Lcd_Cmd
;main.c,219 :: seconds_delay(1);
$036B $3001 MOVLW 1
$036C $00D0 MOVWF FARG_Seconds_Delay+0
$036D $21CA CALL _Seconds_Delay
;main.c,220 :: Clear_Buffer_Registers();
$036E $2079 CALL _Clear_Buffer_Registers
;main.c,221 :: Show_EEPROM_Stored_Messages(1,0x80);
$036F $3001 MOVLW 1
$0370 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0371 $3080 MOVLW 128
$0372 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0373 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,222 :: Show_EEPROM_Stored_Messages(2,0xa0);
$0374 $3002 MOVLW 2
$0375 $00D0 MOVWF FARG_Show_EEPROM_Stored_Messages+0
$0376 $30A0 MOVLW 160
$0377 $00D1 MOVWF FARG_Show_EEPROM_Stored_Messages+1
$0378 $21A9 CALL _Show_EEPROM_Stored_Messages
;main.c,223 :: data_frame[1] = 0x03; //scan for the last time
$0379 $3003 MOVLW 3
$037A $00A3 MOVWF _data_frame+1
;main.c,224 :: data_frame[2] = 0; // this byte is MSB of the user number
$037B $01A4 CLRF _data_frame+2, 1
;main.c,225 :: data_frame[3] = number; // this byte is LSB of the user number
$037C $082E MOVF FARG_Enroll_Users_Fingerprint+0, 0
$037D $00A5 MOVWF _data_frame+3
;main.c,226 :: data_frame[4] = 1; // set priveledge to 1
$037E $3001 MOVLW 1
$037F $00A6 MOVWF _data_frame+4
;main.c,227 :: Construct_Scanner_Command();
$0380 $2125 CALL _Construct_Scanner_Command
;main.c,228 :: Transmit_Command_to_Scanner();
$0381 $212E CALL _Transmit_Command_to_Scanner
;main.c,229 :: Receive_Response_from_Scanner();
$0382 $213E CALL _Receive_Response_from_Scanner
;main.c,230 :: if (data_frame[4])
$0383 $0826 MOVF _data_frame+4, 0
$0384 $1903 BTFSC STATUS, Z
$0385 $2B88 GOTO L_Enroll_Users_Fingerprint_23
;main.c,232 :: error = 1;
$0386 $3001 MOVLW 1
$0387 $00AF MOVWF Enroll_Users_Fingerprint_error_L0
;main.c,233 :: }
$0388 $ L_Enroll_Users_Fingerprint_23:
;main.c,234 :: return error;
$0388 $082F MOVF Enroll_Users_Fingerprint_error_L0, 0
$0389 $00F0 MOVWF STACK_0
;main.c,237 :: }
$038A $0008 RETURN
$038B $ _Send_Scan_Fingerprint_Command:
;main.c,254 :: void Send_Scan_Fingerprint_Command()
;main.c,258 :: data_frame[1] = 0x0c; // scan finger print command
$038B $300C MOVLW 12
$038C $1303 BCF STATUS, RP1
$038D $1283 BCF STATUS, RP0
$038E $00A3 MOVWF _data_frame+1
;main.c,259 :: data_frame[2] = 0;
$038F $01A4 CLRF _data_frame+2, 1
;main.c,260 :: data_frame[3] = 0; //scan sample up to three times
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -