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

📄 main.lst

📁 Simple Timer/Counter application for cock fighting
💻 LST
📖 第 1 页 / 共 4 页
字号:
;main.c,436 :: 		PORTB = 0;
$0384	$0186			CLRF	PORTB, 1
;main.c,437 :: 		PORTA = PORTA & 0xff; //disable the display
$0385	$30FF			MOVLW	255
$0386	$0585			ANDWF	PORTA, 1
;main.c,438 :: 		PORTB = mask (1); //load millisecond value to PORTB
$0387	$3001			MOVLW	1
$0388	$00BA			MOVWF	FARG_mask+0
$0389	$207C			CALL	_mask
$038A	$1303			BCF	STATUS, RP1
$038B	$1283			BCF	STATUS, RP0
$038C	$0870			MOVF	STACK_0, 0
$038D	$0086			MOVWF	PORTB
;main.c,439 :: 		PORTA = PORTA | 0x05; //enable the display of ones millisecond
$038E	$3005			MOVLW	5
$038F	$0485			IORWF	PORTA, 1
;main.c,440 :: 		Short_delay();
$0390	$20CF			CALL	_Short_delay
;main.c,441 :: 		PORTB = 0;
$0391	$0186			CLRF	PORTB, 1
;main.c,442 :: 		PORTA = PORTA & 0xff; //disable the display
$0392	$30FF			MOVLW	255
$0393	$0585			ANDWF	PORTA, 1
;main.c,443 :: 		repitition--;
$0394	$3001			MOVLW	1
$0395	$02B3			SUBWF	_repitition, 1
$0396	$1C03			BTFSS	STATUS, C
$0397	$03B4			DECF	_repitition+1, 1
;main.c,444 :: 		} while (repitition > 0);
$0398	$0834			MOVF	_repitition+1, 0
$0399	$3C00			SUBLW	0
$039A	$1D03			BTFSS	STATUS, Z
$039B	$2B9E			GOTO	L_main_85
$039C	$0833			MOVF	_repitition, 0
$039D	$3C00			SUBLW	0
$039E	$	L_main_85:
$039E	$1C03			BTFSS	STATUS, C
$039F	$2B79			GOTO	L_main_60
$03A0	$	L_main_61:
;main.c,445 :: 		Delay_sec();
$03A0	$21E3			CALL	_Delay_sec
;main.c,446 :: 		delay--;
$03A1	$3001			MOVLW	1
$03A2	$1303			BCF	STATUS, RP1
$03A3	$1283			BCF	STATUS, RP0
$03A4	$02B1			SUBWF	_delay, 1
$03A5	$1C03			BTFSS	STATUS, C
$03A6	$03B2			DECF	_delay+1, 1
;main.c,447 :: 		} while (delay > 0);
$03A7	$0832			MOVF	_delay+1, 0
$03A8	$3C00			SUBLW	0
$03A9	$1D03			BTFSS	STATUS, Z
$03AA	$2BAD			GOTO	L_main_86
$03AB	$0831			MOVF	_delay, 0
$03AC	$3C00			SUBLW	0
$03AD	$	L_main_86:
$03AD	$1C03			BTFSS	STATUS, C
$03AE	$2B74			GOTO	L_main_58
$03AF	$	L_main_59:
;main.c,448 :: 		}
$03AF	$	L_main_57:
;main.c,449 :: 		exit1: load_default_values();
$03AF	$	___main_exit1:
$03AF	$219D			CALL	_load_default_values
;main.c,450 :: 		flag.f2 = 1;//set reset flag
$03B0	$1303			BCF	STATUS, RP1
$03B1	$1283			BCF	STATUS, RP0
$03B2	$152F			BSF	_flag, 2
;main.c,451 :: 		}
$03B3	$	L_main_51:
;main.c,452 :: 		}
$03B3	$	L_main_50:
;main.c,456 :: 		if ((PORTA & 0x30)== 0x20) // stop/show button has been triggered
$03B3	$3030			MOVLW	48
$03B4	$1303			BCF	STATUS, RP1
$03B5	$1283			BCF	STATUS, RP0
$03B6	$0505			ANDWF	PORTA, 0
$03B7	$00F1			MOVWF	STACK_1
$03B8	$0871			MOVF	STACK_1, 0
$03B9	$3A20			XORLW	32
$03BA	$1D03			BTFSS	STATUS, Z
$03BB	$2BF2			GOTO	L_main_62
;main.c,458 :: 		if (INTCON.T0IE)
$03BC	$1E8B			BTFSS	INTCON, 5
$03BD	$2BC2			GOTO	L_main_63
;main.c,460 :: 		INTCON.T0IE = 0;
$03BE	$128B			BCF	INTCON, 5
;main.c,461 :: 		flag.f1 = 0; // flag.f1 is used as the the lapsed flag
$03BF	$10AF			BCF	_flag, 1
;main.c,462 :: 		alarm();
$03C0	$22A1			CALL	_alarm
;main.c,463 :: 		goto exit2
$03C1	$2BEF			GOTO	___main_exit2
;main.c,464 :: 		}
$03C2	$	L_main_63:
;main.c,465 :: 		if (!INTCON.T0IE)
$03C2	$1A8B			BTFSC	INTCON, 5
$03C3	$2BEF			GOTO	L_main_64
;main.c,467 :: 		delay = 500;
$03C4	$30F4			MOVLW	244
$03C5	$1303			BCF	STATUS, RP1
$03C6	$1283			BCF	STATUS, RP0
$03C7	$00B1			MOVWF	_delay
$03C8	$3001			MOVLW	1
$03C9	$00B2			MOVWF	_delay+1
;main.c,468 :: 		do {
$03CA	$	L_main_65:
;main.c,469 :: 		if (flag.f0) offset_up_time();
$03CA	$1303			BCF	STATUS, RP1
$03CB	$1283			BCF	STATUS, RP0
$03CC	$1C2F			BTFSS	_flag, 0
$03CD	$2BCF			GOTO	L_main_67
$03CE	$2205			CALL	_offset_up_time
$03CF	$	L_main_67:
;main.c,470 :: 		if (!flag.f0) offset_down_time();
$03CF	$1303			BCF	STATUS, RP1
$03D0	$1283			BCF	STATUS, RP0
$03D1	$182F			BTFSC	_flag, 0
$03D2	$2BD4			GOTO	L_main_68
$03D3	$2253			CALL	_offset_down_time
$03D4	$	L_main_68:
;main.c,471 :: 		delay--;
$03D4	$3001			MOVLW	1
$03D5	$1303			BCF	STATUS, RP1
$03D6	$1283			BCF	STATUS, RP0
$03D7	$02B1			SUBWF	_delay, 1
$03D8	$1C03			BTFSS	STATUS, C
$03D9	$03B2			DECF	_delay+1, 1
;main.c,472 :: 		if ((PORTA & 0x20) == 0x20) delay = 500;
$03DA	$3020			MOVLW	32
$03DB	$0505			ANDWF	PORTA, 0
$03DC	$00F1			MOVWF	STACK_1
$03DD	$0871			MOVF	STACK_1, 0
$03DE	$3A20			XORLW	32
$03DF	$1D03			BTFSS	STATUS, Z
$03E0	$2BE5			GOTO	L_main_69
$03E1	$30F4			MOVLW	244
$03E2	$00B1			MOVWF	_delay
$03E3	$3001			MOVLW	1
$03E4	$00B2			MOVWF	_delay+1
$03E5	$	L_main_69:
;main.c,473 :: 		} while (delay >0);
$03E5	$1303			BCF	STATUS, RP1
$03E6	$1283			BCF	STATUS, RP0
$03E7	$0832			MOVF	_delay+1, 0
$03E8	$3C00			SUBLW	0
$03E9	$1D03			BTFSS	STATUS, Z
$03EA	$2BED			GOTO	L_main_87
$03EB	$0831			MOVF	_delay, 0
$03EC	$3C00			SUBLW	0
$03ED	$	L_main_87:
$03ED	$1C03			BTFSS	STATUS, C
$03EE	$2BCA			GOTO	L_main_65
$03EF	$	L_main_66:
;main.c,474 :: 		}
$03EF	$	L_main_64:
;main.c,475 :: 		exit2: PORTA.F3 = 0;
$03EF	$	___main_exit2:
$03EF	$1303			BCF	STATUS, RP1
$03F0	$1283			BCF	STATUS, RP0
$03F1	$1185			BCF	PORTA, 3
;main.c,476 :: 		}
$03F2	$	L_main_62:
;main.c,480 :: 		if ((PORTA & 0x30) == 0x10) // start button bas been triggered
$03F2	$3030			MOVLW	48
$03F3	$1303			BCF	STATUS, RP1
$03F4	$1283			BCF	STATUS, RP0
$03F5	$0505			ANDWF	PORTA, 0
$03F6	$00F1			MOVWF	STACK_1
$03F7	$0871			MOVF	STACK_1, 0
$03F8	$3A10			XORLW	16
$03F9	$1D03			BTFSS	STATUS, Z
$03FA	$2C0C			GOTO	L_main_70
;main.c,482 :: 		if (!INTCON.T0IE && flag.f2 )
$03FB	$1A8B			BTFSC	INTCON, 5
$03FC	$2C0C			GOTO	L_main_73
$03FD	$3000			MOVLW	0
$03FE	$192F			BTFSC	_flag, 2
$03FF	$3001			MOVLW	1
$0400	$00F1			MOVWF	STACK_1
$0401	$0871			MOVF	STACK_1, 0
$0402	$1903			BTFSC	STATUS, Z
$0403	$2C0C			GOTO	L_main_73
$0404	$	L659_ex_L_main_73:
;main.c,484 :: 		lapsed_count = 0;
$0404	$1303			BCF	STATUS, RP1
$0405	$1283			BCF	STATUS, RP0
$0406	$01AD			CLRF	_lapsed_count
$0407	$01AE			CLRF	_lapsed_count+1
;main.c,485 :: 		INTCON.T0IE = 1;
$0408	$168B			BSF	INTCON, 5
;main.c,486 :: 		TMR0 = 0;
$0409	$0181			CLRF	TMR0, 1
;main.c,487 :: 		flag.f1 = 0;
$040A	$10AF			BCF	_flag, 1
;main.c,488 :: 		flag.f2 = 0;
$040B	$112F			BCF	_flag, 2
;main.c,489 :: 		}
$040C	$	L_main_73:
;main.c,490 :: 		}
$040C	$	L_main_70:
;main.c,494 :: 		if (PORTB.F0) // reset button has been triggerred
$040C	$1303			BCF	STATUS, RP1
$040D	$1283			BCF	STATUS, RP0
$040E	$1C06			BTFSS	PORTB, 0
$040F	$2C14			GOTO	L_main_74
;main.c,496 :: 		if (!INTCON.T0IE)
$0410	$1A8B			BTFSC	INTCON, 5
$0411	$2C14			GOTO	L_main_75
;main.c,498 :: 		load_default_values();
$0412	$219D			CALL	_load_default_values
;main.c,499 :: 		flag.f2 = 1;//set the reset flag
$0413	$152F			BSF	_flag, 2
;main.c,500 :: 		}
$0414	$	L_main_75:
;main.c,501 :: 		}
$0414	$	L_main_74:
;main.c,504 :: 		if (flag.f1 && !INTCON.T0IE)// lapsed time indication
$0414	$3000			MOVLW	0
$0415	$1303			BCF	STATUS, RP1
$0416	$1283			BCF	STATUS, RP0
$0417	$18AF			BTFSC	_flag, 1
$0418	$3001			MOVLW	1
$0419	$00F1			MOVWF	STACK_1
$041A	$0871			MOVF	STACK_1, 0
$041B	$1903			BTFSC	STATUS, Z
$041C	$2C25			GOTO	L_main_78
$041D	$1A8B			BTFSC	INTCON, 5
$041E	$2C25			GOTO	L_main_78
$041F	$	L687_ex_L_main_78:
;main.c,506 :: 		INTCON.T0IE = 0;
$041F	$128B			BCF	INTCON, 5
;main.c,507 :: 		flag.f1 = 0; // flag.f1 is used as the the lapsed flag
$0420	$1303			BCF	STATUS, RP1
$0421	$1283			BCF	STATUS, RP0
$0422	$10AF			BCF	_flag, 1
;main.c,508 :: 		alarm();
$0423	$22A1			CALL	_alarm
;main.c,509 :: 		PORTA.F3 = 0;
$0424	$1185			BCF	PORTA, 3
;main.c,510 :: 		}
$0425	$	L_main_78:
;main.c,512 :: 		}
$0425	$2B17			GOTO	L_main_46
;main.c,513 :: 		}
$0426	$2C26			GOTO	$


//** Procedures locations **
//ADDRESS		PROCEDURE
//----------------------------------------------
$0004		interrupt
$0033		increment_up_time
$0055		decrement_down_time
$007C		mask
$00CF		Short_delay
$00D7		EEprom_read
$00E1		EEprom_write
$00FB		offset_up_time2
$014C		offset_down_time2
$019D		load_default_values
$01AD		oem_limit
$01E3		Delay_sec
$0205		offset_up_time
$0253		offset_down_time
$02A1		alarm
$02C3		main


//** Labels locations **
//ADDRESS		LABEL
//----------------------------------------------
$0004		_interrupt:
$0023		L_interrupt_79:
$0027		L_interrupt_10:
$0027		L_interrupt_11:
$0027		L_interrupt_12:
$0028		L_Interrupt_end:
$0033		_increment_up_time:
$0054		L_increment_up_time_0:
$0054		L_increment_up_time_1:
$0054		L_increment_up_time_2:
$0054		L_increment_up_time_3:
$0054		L_increment_up_time_4:
$0055		_decrement_down_time:
$007B		L_decrement_down_time_5:
$007B		L_decrement_down_time_6:
$007B		L_decrement_down_time_7:
$007B		L_decrement_down_time_8:
$007B		L_decrement_down_time_9:
$007C		_mask:
$007D		L_mask_15:
$0082		L_mask_16:
$0085		L_mask_17:
$0088		L_mask_18:
$008B		L_mask_19:
$008E		L_mask_20:
$0091		L_mask_21:
$0094		L_mask_22:
$0097		L_mask_23:
$009A		L_mask_24:
$009D		L_mask_25:
$00A0		L_mask_13:
$00CE		L_mask_14:
$00CF		_Short_delay:
$00D7		_EEprom_read:
$00E1		_EEprom_write:
$00E2		L_EEprom_write_0:
$00E8		L_EEprom_write_1:
$00FB		_offset_up_time2:
$0144		L_offset_up_time2_30:
$014B		L_offset_up_time2_31:
$014C		_offset_down_time2:
$0195		L_offset_down_time2_32:
$019C		L_offset_down_time2_33:
$019D		_load_default_values:
$01AD		_oem_limit:
$01C7		L_oem_limit_39:
$01CC		L_oem_limit_38:
$01E2		L_oem_limit_41:
$01E3		_Delay_sec:
$0205		_offset_up_time:
$024C		L_offset_up_time_26:
$0252		L_offset_up_time_27:
$0253		_offset_down_time:
$029A		L_offset_down_time_28:
$02A0		L_offset_down_time_29:
$02A1		_alarm:
$02A7		L_alarm_34:
$02AC		L_alarm_36:
$02B1		L_alarm_37:
$02BD		L_alarm_80:
$02BF		L_alarm_35:
$02C3		_main:
$02DC		L_main_42:
$02E1		L_main_44:
$0306		L_main_81:
$0308		L_main_45:
$0315		L_main_82:
$0317		L_main_43:
$0317		L_main_46:
$031C		L_main_48:
$0321		L_main_49:
$0333		L_main_53:
$0338		L_main_55:
$035D		L_main_83:
$035F		L_main_56:
$036C		L_main_84:
$036E		L_main_54:
$036F		L_main_52:
$0374		L_main_58:
$0379		L_main_60:
$039E		L_main_85:
$03A0		L_main_61:
$03AD		L_main_86:
$03AF		___main_exit1:
$03AF		L_main_57:
$03AF		L_main_59:
$03B3		L_main_50:
$03B3		L_main_51:
$03C2		L_main_63:
$03CA		L_main_65:
$03CF		L_main_67:
$03D4		L_main_68:
$03E5		L_main_69:
$03ED		L_main_87:
$03EF		___main_exit2:
$03EF		L_main_64:
$03EF		L_main_66:
$03F2		L_main_62:
$0404		L659_ex_L_main_73:
$040C		L_main_70:
$040C		L_main_73:
$0414		L_main_74:
$0414		L_main_75:
$041F		L687_ex_L_main_78:
$0425		L_main_78:


//** Variables locations **
//ADDRESS		VARIABLE
//----------------------------------------------
$0000		INDF
$0001		TMR0
$0002		PCL
$0003		STATUS
$0004		FSR
$0005		PORTA
$0006		PORTB
$000A		PCLATH
$000B		INTCON
$0020		_up_time
$0026		_down_time
$002C		_time_count
$002D		_lapsed_count
$002F		_flag
$0030		_check_value
$0031		_delay
$0033		_repitition
$0035		?saveFSR
$0036		?saveSTATUS
$0037		?savePCLATH
$0038		FARG_EEprom_read+0
$0038		FARG_EEprom_write+0
$0039		FARG_EEprom_write+1
$003A		FARG_mask+0
$0070		STACK_0
$0071		STACK_1
$0072		STACK_2
$0073		STACK_3
$0074		STACK_4
$0075		STACK_5
$0076		STACK_6
$0077		STACK_7
$0078		STACK_8
$0079		STACK_9
$007A		STACK_10
$007B		STACK_11
$007C		STACK_12
$007D		STACK_13
$007E		STACK_14
$007F		STACK_15
$0081		OPTION_REG
$0085		TRISA
$0086		TRISB
$009A		EEDATA
$009B		EEADR
$009C		EECON1
$009D		EECON2


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -