?? main.asm
字號:
;main.c,219 :: Short_delay();
$0106 $20CF CALL _Short_delay
;main.c,220 :: PORTB = 0;
$0107 $0186 CLRF PORTB, 1
;main.c,221 :: PORTA = PORTA & 0xff; //disable the display
$0108 $30FF MOVLW 255
$0109 $0585 ANDWF PORTA, 1
;main.c,223 :: PORTB = mask (up_time[4]);
$010A $0824 MOVF _up_time+4, 0
$010B $00BA MOVWF FARG_mask+0
$010C $207C CALL _mask
$010D $1303 BCF STATUS, RP1
$010E $1283 BCF STATUS, RP0
$010F $0870 MOVF STACK_0, 0
$0110 $0086 MOVWF PORTB
;main.c,224 :: PORTA = PORTA | 0x09; //enable the display of ones millisecond
$0111 $3009 MOVLW 9
$0112 $0485 IORWF PORTA, 1
;main.c,225 :: Short_delay();
$0113 $20CF CALL _Short_delay
;main.c,226 :: PORTB = 0;
$0114 $0186 CLRF PORTB, 1
;main.c,227 :: PORTA = PORTA & 0xff; //disable the display
$0115 $30FF MOVLW 255
$0116 $0585 ANDWF PORTA, 1
;main.c,229 :: PORTB = mask (up_time[3]);
$0117 $0823 MOVF _up_time+3, 0
$0118 $00BA MOVWF FARG_mask+0
$0119 $207C CALL _mask
$011A $1303 BCF STATUS, RP1
$011B $1283 BCF STATUS, RP0
$011C $0870 MOVF STACK_0, 0
$011D $0086 MOVWF PORTB
;main.c,230 :: PORTA = PORTA | 0x0e; //enable the display of ones millisecond
$011E $300E MOVLW 14
$011F $0485 IORWF PORTA, 1
;main.c,231 :: Short_delay();
$0120 $20CF CALL _Short_delay
;main.c,232 :: PORTB = 0;
$0121 $0186 CLRF PORTB, 1
;main.c,233 :: PORTA = PORTA & 0xff; //disable the display
$0122 $30FF MOVLW 255
$0123 $0585 ANDWF PORTA, 1
;main.c,235 :: PORTB = mask (up_time[2]);
$0124 $0822 MOVF _up_time+2, 0
$0125 $00BA MOVWF FARG_mask+0
$0126 $207C CALL _mask
$0127 $1303 BCF STATUS, RP1
$0128 $1283 BCF STATUS, RP0
$0129 $0870 MOVF STACK_0, 0
$012A $0086 MOVWF PORTB
;main.c,236 :: PORTA = PORTA | 0x0b; //enable the display of ones millisecond
$012B $300B MOVLW 11
$012C $0485 IORWF PORTA, 1
;main.c,237 :: Short_delay();
$012D $20CF CALL _Short_delay
;main.c,238 :: PORTB = 0;
$012E $0186 CLRF PORTB, 1
;main.c,239 :: PORTA = PORTA & 0xff; //disable the display
$012F $30FF MOVLW 255
$0130 $0585 ANDWF PORTA, 1
;main.c,241 :: PORTB = mask(up_time[1]);
$0131 $0821 MOVF _up_time+1, 0
$0132 $00BA MOVWF FARG_mask+0
$0133 $207C CALL _mask
$0134 $1303 BCF STATUS, RP1
$0135 $1283 BCF STATUS, RP0
$0136 $0870 MOVF STACK_0, 0
$0137 $0086 MOVWF PORTB
;main.c,242 :: PORTA = PORTA | 0x0c; //enable the display of ones millisecond
$0138 $300C MOVLW 12
$0139 $0485 IORWF PORTA, 1
;main.c,243 :: Short_delay();
$013A $20CF CALL _Short_delay
;main.c,244 :: PORTB = 0;
$013B $0186 CLRF PORTB, 1
;main.c,245 :: PORTA = PORTA & 0xff; //disable the display
$013C $30FF MOVLW 255
$013D $0585 ANDWF PORTA, 1
;main.c,247 :: if (up_time[0] == 0)Short_delay();
$013E $0820 MOVF _up_time, 0
$013F $3A00 XORLW 0
$0140 $1D03 BTFSS STATUS, Z
$0141 $2944 GOTO L_offset_up_time2_30
$0142 $20CF CALL _Short_delay
$0143 $294B GOTO L_offset_up_time2_31
$0144 $ L_offset_up_time2_30:
;main.c,250 :: PORTA = PORTA | 0x0a; //enable the display of ones millisecond
$0144 $300A MOVLW 10
$0145 $1303 BCF STATUS, RP1
$0146 $1283 BCF STATUS, RP0
$0147 $0485 IORWF PORTA, 1
;main.c,251 :: Short_delay();
$0148 $20CF CALL _Short_delay
;main.c,252 :: PORTA = PORTA & 0xff; //disable the display
$0149 $30FF MOVLW 255
$014A $0585 ANDWF PORTA, 1
;main.c,253 :: }
$014B $ L_offset_up_time2_31:
;main.c,254 :: }
$014B $0008 RETURN
$014C $ _offset_down_time2:
;main.c,257 :: void offset_down_time2() // displays the requested time
;main.c,259 :: PORTB = mask (down_time[5]); //load millisecond value to PORTB
$014C $1303 BCF STATUS, RP1
$014D $1283 BCF STATUS, RP0
$014E $082B MOVF _down_time+5, 0
$014F $00BA MOVWF FARG_mask+0
$0150 $207C CALL _mask
$0151 $1303 BCF STATUS, RP1
$0152 $1283 BCF STATUS, RP0
$0153 $0870 MOVF STACK_0, 0
$0154 $0086 MOVWF PORTB
;main.c,260 :: PORTA = PORTA | 0x0d; //enable the display of ones millisecond
$0155 $300D MOVLW 13
$0156 $0485 IORWF PORTA, 1
;main.c,261 :: Short_delay();
$0157 $20CF CALL _Short_delay
;main.c,262 :: PORTB = 0;
$0158 $0186 CLRF PORTB, 1
;main.c,263 :: PORTA = PORTA & 0xff; //disable the display
$0159 $30FF MOVLW 255
$015A $0585 ANDWF PORTA, 1
;main.c,265 :: PORTB = mask (down_time[4]);
$015B $082A MOVF _down_time+4, 0
$015C $00BA MOVWF FARG_mask+0
$015D $207C CALL _mask
$015E $1303 BCF STATUS, RP1
$015F $1283 BCF STATUS, RP0
$0160 $0870 MOVF STACK_0, 0
$0161 $0086 MOVWF PORTB
;main.c,266 :: PORTA = PORTA | 0x09; //enable the display of ones millisecond
$0162 $3009 MOVLW 9
$0163 $0485 IORWF PORTA, 1
;main.c,267 :: Short_delay();
$0164 $20CF CALL _Short_delay
;main.c,268 :: PORTB = 0;
$0165 $0186 CLRF PORTB, 1
;main.c,269 :: PORTA = PORTA & 0xff; //disable the display
$0166 $30FF MOVLW 255
$0167 $0585 ANDWF PORTA, 1
;main.c,271 :: PORTB = mask (down_time[3]);
$0168 $0829 MOVF _down_time+3, 0
$0169 $00BA MOVWF FARG_mask+0
$016A $207C CALL _mask
$016B $1303 BCF STATUS, RP1
$016C $1283 BCF STATUS, RP0
$016D $0870 MOVF STACK_0, 0
$016E $0086 MOVWF PORTB
;main.c,272 :: PORTA = PORTA | 0x0e; //enable the display of ones millisecond
$016F $300E MOVLW 14
$0170 $0485 IORWF PORTA, 1
;main.c,273 :: Short_delay();
$0171 $20CF CALL _Short_delay
;main.c,274 :: PORTB = 0;
$0172 $0186 CLRF PORTB, 1
;main.c,275 :: PORTA = PORTA & 0xff; //disable the display
$0173 $30FF MOVLW 255
$0174 $0585 ANDWF PORTA, 1
;main.c,277 :: PORTB = mask (down_time[2]);
$0175 $0828 MOVF _down_time+2, 0
$0176 $00BA MOVWF FARG_mask+0
$0177 $207C CALL _mask
$0178 $1303 BCF STATUS, RP1
$0179 $1283 BCF STATUS, RP0
$017A $0870 MOVF STACK_0, 0
$017B $0086 MOVWF PORTB
;main.c,278 :: PORTA = PORTA | 0x0b; //enable the display of ones millisecond
$017C $300B MOVLW 11
$017D $0485 IORWF PORTA, 1
;main.c,279 :: Short_delay();
$017E $20CF CALL _Short_delay
;main.c,280 :: PORTB = 0;
$017F $0186 CLRF PORTB, 1
;main.c,281 :: PORTA = PORTA & 0xff; //disable the display
$0180 $30FF MOVLW 255
$0181 $0585 ANDWF PORTA, 1
;main.c,283 :: PORTB = mask(down_time[1]);
$0182 $0827 MOVF _down_time+1, 0
$0183 $00BA MOVWF FARG_mask+0
$0184 $207C CALL _mask
$0185 $1303 BCF STATUS, RP1
$0186 $1283 BCF STATUS, RP0
$0187 $0870 MOVF STACK_0, 0
$0188 $0086 MOVWF PORTB
;main.c,284 :: PORTA = PORTA | 0x0c; //enable the display of ones millisecond
$0189 $300C MOVLW 12
$018A $0485 IORWF PORTA, 1
;main.c,285 :: Short_delay();
$018B $20CF CALL _Short_delay
;main.c,286 :: PORTB = 0;
$018C $0186 CLRF PORTB, 1
;main.c,287 :: PORTA = PORTA & 0xff; //disable the display
$018D $30FF MOVLW 255
$018E $0585 ANDWF PORTA, 1
;main.c,289 :: if (down_time[0]== 0)Short_delay();
$018F $0826 MOVF _down_time, 0
$0190 $3A00 XORLW 0
$0191 $1D03 BTFSS STATUS, Z
$0192 $2995 GOTO L_offset_down_time2_32
$0193 $20CF CALL _Short_delay
$0194 $299C GOTO L_offset_down_time2_33
$0195 $ L_offset_down_time2_32:
;main.c,292 :: PORTA = PORTA | 0x0a; //enable the display of ones millisecond
$0195 $300A MOVLW 10
$0196 $1303 BCF STATUS, RP1
$0197 $1283 BCF STATUS, RP0
$0198 $0485 IORWF PORTA, 1
;main.c,293 :: Short_delay();
$0199 $20CF CALL _Short_delay
;main.c,294 :: PORTA = PORTA & 0xff; //disable the display
$019A $30FF MOVLW 255
$019B $0585 ANDWF PORTA, 1
;main.c,295 :: }
$019C $ L_offset_down_time2_33:
;main.c,296 :: }
$019C $0008 RETURN
$019D $ _load_default_values:
;main.c,304 :: void load_default_values()
;main.c,306 :: up_time [0] = 0;
$019D $1303 BCF STATUS, RP1
$019E $1283 BCF STATUS, RP0
$019F $01A0 CLRF _up_time, 1
;main.c,307 :: up_time [1] = 0;
$01A0 $01A1 CLRF _up_time+1, 1
;main.c,308 :: up_time [2] = 0;
$01A1 $01A2 CLRF _up_time+2, 1
;main.c,309 :: up_time [3] = 0;
$01A2 $01A3 CLRF _up_time+3, 1
;main.c,310 :: up_time [4] = 0;
$01A3 $01A4 CLRF _up_time+4, 1
;main.c,311 :: up_time [5] = 0;
$01A4 $01A5 CLRF _up_time+5, 1
;main.c,312 :: down_time[0] = 1;
$01A5 $3001 MOVLW 1
$01A6 $00A6 MOVWF _down_time
;main.c,313 :: down_time[1] = 0;
$01A7 $01A7 CLRF _down_time+1, 1
;main.c,314 :: down_time[2] = 0;
$01A8 $01A8 CLRF _down_time+2, 1
;main.c,315 :: down_time[3] = 0;
$01A9 $01A9 CLRF _down_time+3, 1
;main.c,316 :: down_time[4] = 0;
$01AA $01AA CLRF _down_time+4, 1
;main.c,317 :: down_time[5] = 0;
$01AB $01AB CLRF _down_time+5, 1
;main.c,319 :: }
$01AC $0008 RETURN
$01AD $ _oem_limit:
;main.c,339 :: void oem_limit()
;main.c,341 :: check_value = EEprom_Read(0x00);
$01AD $1303 BCF STATUS, RP1
$01AE $1283 BCF STATUS, RP0
$01AF $01B8 CLRF FARG_EEprom_read+0, 1
$01B0 $20D7 CALL _EEprom_read
$01B1 $0870 MOVF STACK_0, 0
$01B2 $1283 BCF STATUS, RP0
$01B3 $00B0 MOVWF _check_value
;main.c,342 :: Delay_ms (50);
$01B4 $3041 MOVLW 65
$01B5 $00FB MOVWF STACK_11
$01B6 $30FF MOVLW 255
$01B7 $00FA MOVWF STACK_10
$01B8 $0BFB DECFSZ STACK_11, F
$01B9 $29BB GOTO $+2
$01BA $29BE GOTO $+4
$01BB $0BFA DECFSZ STACK_10, F
$01BC $29BB GOTO $-1
$01BD $29B8 GOTO $-5
$01BE $30C3 MOVLW 195
$01BF $00FA MOVWF STACK_10
$01C0 $0BFA DECFSZ STACK_10, F
$01C1 $29C0 GOTO $-1
$01C2 $0000 NOP
;main.c,343 :: if (check_value == 0)
$01C3 $0830 MOVF _check_value, 0
$01C4 $3A00 XORLW 0
$01C5 $1D03 BTFSS STATUS, Z
$01C6 $29CC GOTO L_oem_limit_38
;main.c,345 :: do {
$01C7 $ L_oem_limit_39:
;main.c,346 :: PORTB = 0;
$01C7 $1303 BCF STATUS, RP1
$01C8 $1283 BCF STATUS, RP0
$01C9 $0186 CLRF PORTB, 1
;main.c,347 :: PORTA = 0;
$01CA $0185 CLRF PORTA, 1
;main.c,348 :: } while(1);
$01CB $29C7 GOTO L_oem_limit_39
;main.c,349 :: }
$01CC $ L_oem_limit_38:
;main.c,352 :: check_value--;
$01CC $1303 BCF STATUS, RP1
$01CD $1283 BCF STATUS, RP0
$01CE $03B0 DECF _check_value, 1
;main.c,353 :: EEprom_Write (0x00,check_value);
$01CF $01B8 CLRF FARG_EEprom_write+0, 1
$01D0 $0830 MOVF _check_value, 0
$01D1 $00B9 MOVWF FARG_EEprom_write+1
$01D2 $20E1 CALL _EEprom_write
;main.c,354 :: Delay_ms (50);
$01D3 $3041 MOVLW 65
$01D4 $00FB MOVWF STACK_11
$01D5 $30FF MOVLW 255
$01D6 $00FA MOVWF STACK_10
$01D7 $0BFB DECFSZ STACK_11, F
$01D8 $29DA GOTO $+2
$01D9 $29DD GOTO $+4
$01DA $0BFA DECFSZ STACK_10, F
$01DB $29DA GOTO $-1
$01DC $29D7 GOTO $-5
$01DD $30C3 MOVLW 195
$01DE $00FA MOVWF STACK_10
$01DF $0BFA DECFSZ STACK_10, F
$01E0 $29DF GOTO $-1
$01E1 $0000 NOP
;main.c,355 :: }
$01E2 $ L_oem_limit_41:
;main.c,356 :: }
$01E2 $0008 RETURN
$01E3 $ _Delay_sec:
;main.c,299 :: void Delay_sec()
;main.c,301 :: Delay_ms (350);
$01E3 $3002 MOVLW 2
$01E4 $1303 BCF STATUS, RP1
$01E5 $1283 BCF STATUS, RP0
$01E6 $00FC MOVWF STACK_12
$01E7 $30FF MOVLW 255
$01E8 $00FB MOVWF STACK_11
$01E9 $30FF MOVLW 255
$01EA $00FA MOVWF STACK_10
$01EB $0BFC DECFSZ STACK_12, F
$01EC $29EE GOTO $+2
$01ED $29F5 GOTO $+8
$01EE $0BFB DECFSZ STACK_11, F
$01EF $29F1 GOTO $+2
$01F0 $29F4 GOTO $+4
$01F1 $0BFA DECFSZ STACK_10, F
$01F2 $29F1 GOTO $-1
$01F3 $29EE GOTO $-5
$01F4 $29EB GOTO $-9
$01F5 $30C8 MOVLW 200
$01F6 $00FB MOVWF STACK_11
$01F7 $30FF MOVLW 255
$01F8 $00FA MOVWF STACK_10
$01F9 $0BFB DECFSZ STACK_11, F
$01FA $29FC GOTO $+2
$01FB $29FF GOTO $+4
$01FC $0BFA DECFSZ STACK_10, F
$01FD $29FC GOTO $-1
$01FE $29F9 GOTO $-5
$01FF $3057 MOVLW 87
$0200 $00FA MOVWF STACK_10
$0201 $0BFA DECFSZ STACK_10, F
$0202 $2A01 GOTO $-1
$0203 $0000 NOP
;main.c,302 :: }
$0204 $0008 RETURN
$0205 $ _offset_up_time:
;main.c,133 :: void offset_up_time() // displays the requested time
;main.c,135 :: PORTB = mask (up_time[5]); //load millisecond value to PORTB
$0205 $1303 BCF STATUS, RP1
$0206 $1283 BCF STATUS, RP0
$0207 $0825 MOVF _up_time+5, 0
$0208 $00BA MOVWF FARG_mask+0
$0209 $207C CALL _mask
$020A $1303 BCF STATUS, RP1
$020B $1283 BCF STATUS, RP0
$020C $0870 MOVF STACK_0, 0
$020D $0086 MOVWF PORTB
;main.c,136 :: PORTA = PORTA | 0x05; //enable the display of ones millisecond
$020E $3005 MOVLW 5
$020F $0485 IORWF PORTA, 1
;main.c,137 :: Short_delay();
$0210 $20CF CALL _Short_delay
;main.c,138 :: PORTB = 0;
$0211 $0186 CLRF PORTB, 1
;main.c,139 :: PORTA = PORTA & 0xff; //disable the display
$0212 $30FF MOVLW 255
$0213 $0585 ANDWF PORTA, 1
;main.c,141 :: PORTB = mask (up_time[4]);
$0214 $0824 MOVF _up_time+4, 0
$0215 $00BA MOVWF FARG_mask+0
$0216 $207C CALL _mask
$0217 $1303 BCF STATUS, RP1
$0218 $1283 BCF STATUS, RP0
$0219 $0870 MOVF STACK_0, 0
$021A $0086 MOVWF PORTB
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -