?? main.lst
字號:
;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 + -