pic_rc5/out/RC5_Remote_Control.as

1715 lines
36 KiB
ActionScript
Raw Permalink Normal View History

opt subtitle "HI-TECH Software Omniscient Code Generator (Lite mode) build 9453"
opt pagewidth 120
opt lm
processor 16F628A
clrc macro
bcf 3,0
endm
clrz macro
bcf 3,2
endm
setc macro
bsf 3,0
endm
setz macro
bsf 3,2
endm
skipc macro
btfss 3,0
endm
skipz macro
btfss 3,2
endm
skipnc macro
btfsc 3,0
endm
skipnz macro
btfsc 3,2
endm
indf equ 0
indf0 equ 0
pc equ 2
pcl equ 2
status equ 3
fsr equ 4
fsr0 equ 4
c equ 1
z equ 0
pclath equ 10
# 5 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
psect config,class=CONFIG,delta=2 ;#
# 5 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
dw 0xFF7F & 0xFFBF & 0xFFFF & 0xFFDF & 0xFFF7 & 0xFFFB & 0xFFED ;#
FNCALL _main,_evaluate_tastatur
FNCALL _main,_SendRc5
FNCALL _SendRc5,_One
FNCALL _SendRc5,_Zero
FNCALL _SendRc5,_delay_89ms
FNCALL _Zero,_ON
FNCALL _Zero,_OFF
FNCALL _One,_OFF
FNCALL _One,_ON
FNROOT _main
FNCALL intlevel1,_ISR
global intlevel1
FNROOT intlevel1
global _CountB
global _CountC
global _somethingpressed
global _CountA
global _toggle
global _CMCON
psect text296,local,class=CODE,delta=2
global __ptext296
__ptext296:
_CMCON set 31
global _INTCON
_INTCON set 11
global _PORTA
_PORTA set 5
global _PORTB
_PORTB set 6
global _CARRY
_CARRY set 24
global _CM0
_CM0 set 248
global _CM1
_CM1 set 249
global _CM2
_CM2 set 250
global _GIE
_GIE set 95
global _RA0
_RA0 set 40
global _RBIE
_RBIE set 91
global _RBIF
_RBIF set 88
global _EEADR
_EEADR set 155
global _EECON1
_EECON1 set 156
global _EECON2
_EECON2 set 157
global _EEDATA
_EEDATA set 154
global _OPTION_REG
_OPTION_REG set 129
global _TRISA
_TRISA set 133
global _TRISB
_TRISB set 134
global _RD
_RD set 1248
global _WR
_WR set 1249
global _WREN
_WREN set 1250
file "RC5_Remote_Control.as"
line #
psect cinit,class=CODE,delta=2
global start_initialization
start_initialization:
psect bssCOMMON,class=COMMON,space=1
global __pbssCOMMON
__pbssCOMMON:
_CountA:
ds 2
_toggle:
ds 1
psect bssBANK0,class=BANK0,space=1
global __pbssBANK0
__pbssBANK0:
_CountB:
ds 2
_CountC:
ds 2
_somethingpressed:
ds 2
; Clear objects allocated to COMMON
psect cinit,class=CODE,delta=2
clrf ((__pbssCOMMON)+0)&07Fh
clrf ((__pbssCOMMON)+1)&07Fh
clrf ((__pbssCOMMON)+2)&07Fh
; Clear objects allocated to BANK0
psect cinit,class=CODE,delta=2
clrf ((__pbssBANK0)+0)&07Fh
clrf ((__pbssBANK0)+1)&07Fh
clrf ((__pbssBANK0)+2)&07Fh
clrf ((__pbssBANK0)+3)&07Fh
clrf ((__pbssBANK0)+4)&07Fh
clrf ((__pbssBANK0)+5)&07Fh
psect cinit,class=CODE,delta=2
global end_of_initialization
;End of C runtime variable initialization code
end_of_initialization:
clrf status
ljmp _main ;jump to C main() function
psect cstackCOMMON,class=COMMON,space=1
global __pcstackCOMMON
__pcstackCOMMON:
global ?_ON
?_ON: ; 0 bytes @ 0x0
global ?_OFF
?_OFF: ; 0 bytes @ 0x0
global ?_ISR
?_ISR: ; 0 bytes @ 0x0
global ??_ISR
??_ISR: ; 0 bytes @ 0x0
global ?_delay_89ms
?_delay_89ms: ; 0 bytes @ 0x0
global ?_One
?_One: ; 0 bytes @ 0x0
global ?_Zero
?_Zero: ; 0 bytes @ 0x0
global ?_evaluate_tastatur
?_evaluate_tastatur: ; 0 bytes @ 0x0
global ?_main
?_main: ; 0 bytes @ 0x0
ds 4
global ??_ON
??_ON: ; 0 bytes @ 0x4
global ??_OFF
??_OFF: ; 0 bytes @ 0x4
global ??_delay_89ms
??_delay_89ms: ; 0 bytes @ 0x4
global ??_evaluate_tastatur
??_evaluate_tastatur: ; 0 bytes @ 0x4
ds 1
global ON@i
ON@i: ; 1 bytes @ 0x5
global OFF@i
OFF@i: ; 1 bytes @ 0x5
ds 1
global ??_One
??_One: ; 0 bytes @ 0x6
global ??_Zero
??_Zero: ; 0 bytes @ 0x6
global ?_SendRc5
?_SendRc5: ; 0 bytes @ 0x6
global SendRc5@group
SendRc5@group: ; 1 bytes @ 0x6
ds 1
psect cstackBANK0,class=BANK0,space=1
global __pcstackBANK0
__pcstackBANK0:
global ??_SendRc5
??_SendRc5: ; 0 bytes @ 0x0
global evaluate_tastatur@comcode
evaluate_tastatur@comcode: ; 1 bytes @ 0x0
ds 1
global evaluate_tastatur@e
evaluate_tastatur@e: ; 1 bytes @ 0x1
global SendRc5@command
SendRc5@command: ; 1 bytes @ 0x1
ds 1
global evaluate_tastatur@i
evaluate_tastatur@i: ; 1 bytes @ 0x2
global SendRc5@i
SendRc5@i: ; 1 bytes @ 0x2
ds 1
global evaluate_tastatur@a
evaluate_tastatur@a: ; 1 bytes @ 0x3
ds 1
global ??_main
??_main: ; 0 bytes @ 0x4
ds 1
global main@help
main@help: ; 1 bytes @ 0x5
ds 1
global main@subcode
main@subcode: ; 1 bytes @ 0x6
ds 1
global main@comcode
main@comcode: ; 1 bytes @ 0x7
ds 1
;;Data sizes: Strings 0, constant 0, data 0, bss 9, persistent 0 stack 0
;;Auto spaces: Size Autos Used
;; COMMON 14 7 10
;; BANK0 80 8 14
;; BANK1 80 0 0
;; BANK2 48 0 0
;;
;; Pointer list with targets:
;; SendRc5@command PTR unsigned char size(1) Largest target is 1
;; -> main@comcode(BANK0[1]),
;;
;; SendRc5@group PTR unsigned char size(1) Largest target is 1
;; -> main@subcode(BANK0[1]),
;;
;; evaluate_tastatur@comcode PTR unsigned char size(1) Largest target is 1
;; -> main@comcode(BANK0[1]),
;;
;;
;; Critical Paths under _main in COMMON
;;
;; _main->_SendRc5
;; _Zero->_ON
;; _Zero->_OFF
;; _One->_OFF
;; _One->_ON
;;
;; Critical Paths under _ISR in COMMON
;;
;; None.
;;
;; Critical Paths under _main in BANK0
;;
;; _main->_evaluate_tastatur
;;
;; Critical Paths under _ISR in BANK0
;;
;; None.
;;
;; Critical Paths under _main in BANK1
;;
;; None.
;;
;; Critical Paths under _ISR in BANK1
;;
;; None.
;;
;; Critical Paths under _main in BANK2
;;
;; None.
;;
;; Critical Paths under _ISR in BANK2
;;
;; None.
;;
;;Main: autosize = 0, tempsize = 1, incstack = 0, save=0
;;
;;
;;Call Graph Tables:
;;
;; ---------------------------------------------------------------------------------
;; (Depth) Function Calls Base Space Used Autos Params Refs
;; ---------------------------------------------------------------------------------
;; (0) _main 4 4 0 788
;; 4 BANK0 4 4 0
;; _evaluate_tastatur
;; _SendRc5
;; ---------------------------------------------------------------------------------
;; (1) _SendRc5 4 3 1 402
;; 6 COMMON 1 0 1
;; 0 BANK0 3 3 0
;; _One
;; _Zero
;; _delay_89ms
;; ---------------------------------------------------------------------------------
;; (2) _Zero 0 0 0 71
;; _ON
;; _OFF
;; ---------------------------------------------------------------------------------
;; (2) _One 0 0 0 71
;; _OFF
;; _ON
;; ---------------------------------------------------------------------------------
;; (1) _evaluate_tastatur 6 6 0 266
;; 4 COMMON 2 2 0
;; 0 BANK0 4 4 0
;; ---------------------------------------------------------------------------------
;; (2) _delay_89ms 0 0 0 0
;; ---------------------------------------------------------------------------------
;; (3) _OFF 2 2 0 34
;; 4 COMMON 2 2 0
;; ---------------------------------------------------------------------------------
;; (3) _ON 2 2 0 37
;; 4 COMMON 2 2 0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 3
;; ---------------------------------------------------------------------------------
;; (Depth) Function Calls Base Space Used Autos Params Refs
;; ---------------------------------------------------------------------------------
;; (4) _ISR 4 4 0 0
;; 0 COMMON 4 4 0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 4
;; ---------------------------------------------------------------------------------
;; Call Graph Graphs:
;; _main (ROOT)
;; _evaluate_tastatur
;; _SendRc5
;; _One
;; _OFF
;; _ON
;; _Zero
;; _ON
;; _OFF
;; _delay_89ms
;;
;; _ISR (ROOT)
;;
;; Address spaces:
;;Name Size Autos Total Cost Usage
;;BITCOMMON E 0 0 0 0.0%
;;EEDATA 80 0 0 0 0.0%
;;NULL 0 0 0 0 0.0%
;;CODE 0 0 0 0 0.0%
;;COMMON E 7 A 1 71.4%
;;BITSFR0 0 0 0 1 0.0%
;;SFR0 0 0 0 1 0.0%
;;BITSFR1 0 0 0 2 0.0%
;;SFR1 0 0 0 2 0.0%
;;STACK 0 0 3 2 0.0%
;;BANK0 50 8 E 3 17.5%
;;BITSFR3 0 0 0 4 0.0%
;;SFR3 0 0 0 4 0.0%
;;ABS 0 0 18 4 0.0%
;;BITBANK0 50 0 0 5 0.0%
;;BITSFR2 0 0 0 5 0.0%
;;SFR2 0 0 0 5 0.0%
;;BITBANK1 50 0 0 6 0.0%
;;BANK1 50 0 0 7 0.0%
;;BITBANK2 30 0 0 8 0.0%
;;BANK2 30 0 0 9 0.0%
;;DATA 0 0 1B 10 0.0%
global _main
psect maintext,global,class=CODE,delta=2
global __pmaintext
__pmaintext:
;; *************** function _main *****************
;; Defined at:
;; line 159 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; comcode 1 7[BANK0 ] unsigned char
;; subcode 1 6[BANK0 ] unsigned char
;; help 1 5[BANK0 ] unsigned char
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack
;; Tracked objects:
;; On entry : 17F/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 0 3 0 0
;; Temps: 0 1 0 0
;; Totals: 0 4 0 0
;;Total ram usage: 4 bytes
;; Hardware stack levels required when called: 4
;; This function calls:
;; _evaluate_tastatur
;; _SendRc5
;; This function is called by:
;; Startup code after reset
;; This function uses a non-reentrant model
;;
psect maintext
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 159
global __size_of_main
__size_of_main equ __end_of_main-_main
_main:
opt stack 4
; Regs used in _main: [wreg-fsr0h+status,2+status,0+pclath+cstack]
line 160
l2408:
;main.c: 160: unsigned char comcode = 0;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
clrf (main@comcode)
line 161
;main.c: 161: char subcode = 0;
clrf (main@subcode)
line 163
l2410:
;main.c: 163: OPTION_REG = 0b00000010;
movlw (02h)
bsf status, 5 ;RP0=1, select bank1
bcf status, 6 ;RP1=0, select bank1
movwf (129)^080h ;volatile
line 164
;main.c: 164: CMCON = 0x07;
movlw (07h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (31) ;volatile
line 165
l2412:
;main.c: 165: TRISA = 0x00;
bsf status, 5 ;RP0=1, select bank1
bcf status, 6 ;RP1=0, select bank1
clrf (133)^080h ;volatile
line 166
l2414:
;main.c: 166: TRISB = 0xF0;
movlw (0F0h)
movwf (134)^080h ;volatile
line 167
l2416:
;main.c: 167: GIE = 1;
bsf (95/8),(95)&7
line 168
l2418:
;main.c: 168: CM0 = 1;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
bsf (248/8),(248)&7
line 169
l2420:
;main.c: 169: CM1 = 1;
bsf (249/8),(249)&7
line 170
l2422:
;main.c: 170: CM2 = 1;
bsf (250/8),(250)&7
line 171
;main.c: 171: PORTA = 0;
clrf (5) ;volatile
line 172
l2424:
;main.c: 172: PORTB = 0xFF;
movlw (0FFh)
movwf (6) ;volatile
line 173
l2426:
;main.c: 173: subcode = 29;
movlw (01Dh)
movwf (??_main+0)+0
movf (??_main+0)+0,w
movwf (main@subcode)
line 174
;main.c: 174: INTCON = 0;
clrf (11) ;volatile
line 175
l2428:
;main.c: 175: RBIE = 1;
bsf (91/8),(91)&7
line 176
l2430:
;main.c: 176: char help = 0;
clrf (main@help)
goto l431
line 178
;main.c: 178: while(1)
l430:
line 180
;main.c: 179: {
;main.c: 180: while(!RBIF)
goto l431
l432:
line 181
# 181 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
sleep ;#
psect maintext
l431:
line 180
btfss (88/8),(88)&7
goto u2801
goto u2800
u2801:
goto l432
u2800:
goto l2432
l433:
line 182
l2432:
;main.c: 182: PORTB = 0xFF;
movlw (0FFh)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (6) ;volatile
line 183
l2434:
;main.c: 183: evaluate_tastatur(&comcode);
movlw (main@comcode)&0ffh
fcall _evaluate_tastatur
line 184
l2436:
;main.c: 184: if(somethingpressed == 1)
movlw 01h
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
xorwf (_somethingpressed),w
iorwf (_somethingpressed+1),w
skipz
goto u2811
goto u2810
u2811:
goto l431
u2810:
line 186
l2438:
;main.c: 185: {
;main.c: 186: SendRc5(&comcode, &subcode);
movlw (main@subcode)&0ffh
movwf (??_main+0)+0
movf (??_main+0)+0,w
movwf (?_SendRc5)
movlw (main@comcode)&0ffh
fcall _SendRc5
line 187
l2440:
;main.c: 187: somethingpressed = 0;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
clrf (_somethingpressed)
clrf (_somethingpressed+1)
line 188
l2442:
;main.c: 188: help = 1;
clrf (main@help)
bsf status,0
rlf (main@help),f
goto l431
line 189
l434:
goto l431
line 190
l435:
line 178
goto l431
l436:
line 191
l437:
global start
ljmp start
opt stack 0
GLOBAL __end_of_main
__end_of_main:
;; =============== function _main ends ============
signat _main,88
global _SendRc5
psect text297,local,class=CODE,delta=2
global __ptext297
__ptext297:
;; *************** function _SendRc5 *****************
;; Defined at:
;; line 128 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; command 1 wreg PTR unsigned char
;; -> main@comcode(1),
;; group 1 6[COMMON] PTR unsigned char
;; -> main@subcode(1),
;; Auto vars: Size Location Type
;; command 1 1[BANK0 ] PTR unsigned char
;; -> main@comcode(1),
;; i 1 2[BANK0 ] unsigned char
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 1 0 0 0
;; Locals: 0 2 0 0
;; Temps: 0 1 0 0
;; Totals: 1 3 0 0
;;Total ram usage: 4 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 3
;; This function calls:
;; _One
;; _Zero
;; _delay_89ms
;; This function is called by:
;; _main
;; This function uses a non-reentrant model
;;
psect text297
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 128
global __size_of_SendRc5
__size_of_SendRc5 equ __end_of_SendRc5-_SendRc5
_SendRc5:
opt stack 4
; Regs used in _SendRc5: [wreg-fsr0h+status,2+status,0+pclath+cstack]
;SendRc5@command stored from wreg
line 130
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (SendRc5@command)
l2366:
;main.c: 129: unsigned char i;
;main.c: 130: One();
fcall _One
line 131
;main.c: 131: One();
fcall _One
line 133
l2368:
;main.c: 133: toggle = toggle ^ 1 & 1;
movf (_toggle),w
xorlw 01h
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (??_SendRc5+0)+0
movf (??_SendRc5+0)+0,w
movwf (_toggle)
line 134
l2370:
;main.c: 134: if(toggle == 1)
movf (_toggle),w
xorlw 01h
skipz
goto u2711
goto u2710
u2711:
goto l2374
u2710:
line 135
l2372:
;main.c: 135: One();
fcall _One
goto l2376
line 136
l417:
line 137
l2374:
;main.c: 136: else
;main.c: 137: Zero();
fcall _Zero
goto l2376
l418:
line 139
l2376:
;main.c: 139: for(i = 4; i != 255; i--)
movlw (04h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (??_SendRc5+0)+0
movf (??_SendRc5+0)+0,w
movwf (SendRc5@i)
l2378:
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2721
goto u2720
u2721:
goto l2382
u2720:
goto l2392
l2380:
goto l2392
line 140
l419:
line 141
l2382:
;main.c: 140: {
;main.c: 141: if(((*group>>i))&1)
movf (SendRc5@group),w
movwf fsr0
bcf status, 7 ;select IRP bank0
movf indf,w
movwf (??_SendRc5+0)+0
incf (SendRc5@i),w
goto u2734
u2735:
clrc
rrf (??_SendRc5+0)+0,f
u2734:
addlw -1
skipz
goto u2735
btfss 0+(??_SendRc5+0)+0,(0)&7
goto u2741
goto u2740
u2741:
goto l2386
u2740:
line 142
l2384:
;main.c: 142: One();
fcall _One
goto l2388
line 143
l421:
line 144
l2386:
;main.c: 143: else
;main.c: 144: Zero();
fcall _Zero
goto l2388
l422:
line 139
l2388:
movlw low(01h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
subwf (SendRc5@i),f
l2390:
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2751
goto u2750
u2751:
goto l2382
u2750:
goto l2392
l420:
line 146
l2392:
;main.c: 145: }
;main.c: 146: for(i = 5; i != 255; i--)
movlw (05h)
movwf (??_SendRc5+0)+0
movf (??_SendRc5+0)+0,w
movwf (SendRc5@i)
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2761
goto u2760
u2761:
goto l2396
u2760:
goto l2406
l2394:
goto l2406
line 147
l423:
line 148
l2396:
;main.c: 147: {
;main.c: 148: if(((*command)>>i)&1)
movf (SendRc5@command),w
movwf fsr0
bcf status, 7 ;select IRP bank0
movf indf,w
movwf (??_SendRc5+0)+0
incf (SendRc5@i),w
goto u2774
u2775:
clrc
rrf (??_SendRc5+0)+0,f
u2774:
addlw -1
skipz
goto u2775
btfss 0+(??_SendRc5+0)+0,(0)&7
goto u2781
goto u2780
u2781:
goto l2400
u2780:
line 149
l2398:
;main.c: 149: One();
fcall _One
goto l2402
line 150
l425:
line 151
l2400:
;main.c: 150: else
;main.c: 151: Zero();
fcall _Zero
goto l2402
l426:
line 146
l2402:
movlw low(01h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
subwf (SendRc5@i),f
l2404:
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2791
goto u2790
u2791:
goto l2396
u2790:
goto l2406
l424:
line 153
l2406:
;main.c: 152: }
;main.c: 153: delay_89ms();
fcall _delay_89ms
line 155
l427:
return
opt stack 0
GLOBAL __end_of_SendRc5
__end_of_SendRc5:
;; =============== function _SendRc5 ends ============
signat _SendRc5,8312
global _Zero
psect text298,local,class=CODE,delta=2
global __ptext298
__ptext298:
;; *************** function _Zero *****************
;; Defined at:
;; line 94 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; None
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, status,2, status,0, pclath, cstack
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 0 0 0 0
;; Temps: 0 0 0 0
;; Totals: 0 0 0 0
;;Total ram usage: 0 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 2
;; This function calls:
;; _ON
;; _OFF
;; This function is called by:
;; _SendRc5
;; This function uses a non-reentrant model
;;
psect text298
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 94
global __size_of_Zero
__size_of_Zero equ __end_of_Zero-_Zero
_Zero:
opt stack 4
; Regs used in _Zero: [wreg+status,2+status,0+pclath+cstack]
line 95
l2364:
;main.c: 95: ON();
fcall _ON
line 96
;main.c: 96: OFF();
fcall _OFF
line 97
l406:
return
opt stack 0
GLOBAL __end_of_Zero
__end_of_Zero:
;; =============== function _Zero ends ============
signat _Zero,88
global _One
psect text299,local,class=CODE,delta=2
global __ptext299
__ptext299:
;; *************** function _One *****************
;; Defined at:
;; line 89 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; None
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, status,2, status,0, pclath, cstack
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 0 0 0 0
;; Temps: 0 0 0 0
;; Totals: 0 0 0 0
;;Total ram usage: 0 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 2
;; This function calls:
;; _OFF
;; _ON
;; This function is called by:
;; _SendRc5
;; This function uses a non-reentrant model
;;
psect text299
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 89
global __size_of_One
__size_of_One equ __end_of_One-_One
_One:
opt stack 4
; Regs used in _One: [wreg+status,2+status,0+pclath+cstack]
line 90
l2362:
;main.c: 90: OFF();
fcall _OFF
line 91
;main.c: 91: ON();
fcall _ON
line 92
l403:
return
opt stack 0
GLOBAL __end_of_One
__end_of_One:
;; =============== function _One ends ============
signat _One,88
global _evaluate_tastatur
psect text300,local,class=CODE,delta=2
global __ptext300
__ptext300:
;; *************** function _evaluate_tastatur *****************
;; Defined at:
;; line 101 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; comcode 1 wreg PTR unsigned char
;; -> main@comcode(1),
;; Auto vars: Size Location Type
;; comcode 1 0[BANK0 ] PTR unsigned char
;; -> main@comcode(1),
;; a 1 3[BANK0 ] unsigned char
;; i 1 2[BANK0 ] unsigned char
;; e 1 1[BANK0 ] unsigned char
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, fsr0l, fsr0h, status,2, status,0
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 0 4 0 0
;; Temps: 2 0 0 0
;; Totals: 2 4 0 0
;;Total ram usage: 6 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 1
;; This function calls:
;; Nothing
;; This function is called by:
;; _main
;; This function uses a non-reentrant model
;;
psect text300
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 101
global __size_of_evaluate_tastatur
__size_of_evaluate_tastatur equ __end_of_evaluate_tastatur-_evaluate_tastatur
_evaluate_tastatur:
opt stack 6
; Regs used in _evaluate_tastatur: [wreg-fsr0h+status,2+status,0]
;evaluate_tastatur@comcode stored from wreg
line 105
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (evaluate_tastatur@comcode)
l2330:
;main.c: 102: unsigned char i;
;main.c: 103: unsigned char a;
;main.c: 104: unsigned char e;
;main.c: 105: e = 0;
clrf (evaluate_tastatur@e)
line 107
l2332:
;main.c: 107: for(i=3; i != 255; i--)
movlw (03h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
movwf (evaluate_tastatur@i)
movf (evaluate_tastatur@i),w
xorlw 0FFh
skipz
goto u2641
goto u2640
u2641:
goto l2336
u2640:
goto l414
l2334:
goto l414
line 108
l409:
line 109
l2336:
;main.c: 108: {
;main.c: 109: PORTB = 0xFF;
movlw (0FFh)
movwf (6) ;volatile
line 110
l2338:
;main.c: 110: PORTB &= ~(1<<i);
movlw (01h)
movwf (??_evaluate_tastatur+0)+0
incf (evaluate_tastatur@i),w
goto u2654
u2655:
clrc
rlf (??_evaluate_tastatur+0)+0,f
u2654:
addlw -1
skipz
goto u2655
movf 0+(??_evaluate_tastatur+0)+0,w
xorlw 0ffh
movwf (??_evaluate_tastatur+1)+0
movf (??_evaluate_tastatur+1)+0,w
andwf (6),f ;volatile
line 111
l2340:
;main.c: 111: for(a=4; a <= 7; a++)
movlw (04h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
movwf (evaluate_tastatur@a)
l2342:
movlw (08h)
subwf (evaluate_tastatur@a),w
skipc
goto u2661
goto u2660
u2661:
goto l2346
u2660:
goto l2358
l2344:
goto l2358
line 112
l411:
line 113
l2346:
;main.c: 112: {
;main.c: 113: e++;
movlw (01h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
addwf (evaluate_tastatur@e),f
line 114
;main.c: 114: if( ((PORTB>>a) & 1) == 0)
movf (6),w ;volatile
movwf (??_evaluate_tastatur+0)+0
incf (evaluate_tastatur@a),w
goto u2674
u2675:
clrc
rrf (??_evaluate_tastatur+0)+0,f
u2674:
addlw -1
skipz
goto u2675
btfsc 0+(??_evaluate_tastatur+0)+0,(0)&7
goto u2681
goto u2680
u2681:
goto l2354
u2680:
line 116
l2348:
;main.c: 115: {
;main.c: 116: *comcode = e;
movf (evaluate_tastatur@e),w
movwf (??_evaluate_tastatur+0)+0
movf (evaluate_tastatur@comcode),w
movwf fsr0
movf (??_evaluate_tastatur+0)+0,w
bcf status, 7 ;select IRP bank0
movwf indf
line 117
l2350:
;main.c: 117: somethingpressed = 1;
movlw low(01h)
movwf (_somethingpressed)
movlw high(01h)
movwf ((_somethingpressed))+1
goto l414
line 118
l2352:
;main.c: 118: return;
goto l414
line 119
l413:
line 111
l2354:
movlw (01h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
addwf (evaluate_tastatur@a),f
l2356:
movlw (08h)
subwf (evaluate_tastatur@a),w
skipc
goto u2691
goto u2690
u2691:
goto l2346
u2690:
goto l2358
l412:
line 107
l2358:
movlw low(01h)
subwf (evaluate_tastatur@i),f
l2360:
movf (evaluate_tastatur@i),w
xorlw 0FFh
skipz
goto u2701
goto u2700
u2701:
goto l2336
u2700:
goto l414
l410:
line 125
l414:
return
opt stack 0
GLOBAL __end_of_evaluate_tastatur
__end_of_evaluate_tastatur:
;; =============== function _evaluate_tastatur ends ============
signat _evaluate_tastatur,4216
global _delay_89ms
psect text301,local,class=CODE,delta=2
global __ptext301
__ptext301:
;; *************** function _delay_89ms *****************
;; Defined at:
;; line 64 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; None
;; Return value: Size Location Type
;; None void
;; Registers used:
;; None
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 0 0 0 0
;; Temps: 0 0 0 0
;; Totals: 0 0 0 0
;;Total ram usage: 0 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 1
;; This function calls:
;; Nothing
;; This function is called by:
;; _SendRc5
;; This function uses a non-reentrant model
;;
psect text301
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 64
global __size_of_delay_89ms
__size_of_delay_89ms equ __end_of_delay_89ms-_delay_89ms
_delay_89ms:
opt stack 5
; Regs used in _delay_89ms: []
line 66
l2328:
# 66 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
pause89ms ;#
line 67
# 67 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
clrf _CountA ;#
line 68
# 68 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
clrf _CountB ;#
line 69
# 69 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
clrf _CountC ;#
line 70
# 70 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
movlw 0x74 ;#
line 71
# 71 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
movwf _CountB ;#
line 72
# 72 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
movlw 0x02 ;#
line 73
# 73 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
movwf _CountA ;#
line 74
# 74 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
movlw 0x01 ;#
line 75
# 75 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
movwf _CountC ;#
line 77
# 77 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
Loop ;Wiederholung der Zeitverz<EFBFBD>gerung ;#
line 78
# 78 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
decfsz _CountA ;#
line 79
# 79 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
goto Loop ;#
line 80
# 80 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
decfsz _CountB ;#
line 81
# 81 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
goto Loop ;#
line 82
# 82 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
decfsz _CountC ;#
line 83
# 83 "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
goto Loop ;#
psect text301
line 86
;main.c: 85: return;
l400:
return
opt stack 0
GLOBAL __end_of_delay_89ms
__end_of_delay_89ms:
;; =============== function _delay_89ms ends ============
signat _delay_89ms,88
global _OFF
psect text302,local,class=CODE,delta=2
global __ptext302
__ptext302:
;; *************** function _OFF *****************
;; Defined at:
;; line 46 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; i 1 5[COMMON] unsigned char
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, status,2, status,0
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 1 0 0 0
;; Temps: 1 0 0 0
;; Totals: 2 0 0 0
;;Total ram usage: 2 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 1
;; This function calls:
;; Nothing
;; This function is called by:
;; _One
;; _Zero
;; This function uses a non-reentrant model
;;
psect text302
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 46
global __size_of_OFF
__size_of_OFF equ __end_of_OFF-_OFF
_OFF:
opt stack 4
; Regs used in _OFF: [wreg+status,2+status,0]
line 47
l2324:
;main.c: 47: unsigned char i = 0;
clrf (OFF@i)
line 48
;main.c: 48: do
l392:
line 50
;main.c: 49: {
;main.c: 50: RA0=0;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
bcf (40/8),(40)&7
line 52
l2326:
;main.c: 51: }
;main.c: 52: while(i++<59);
movlw (01h)
movwf (??_OFF+0)+0
movf (??_OFF+0)+0,w
addwf (OFF@i),f
movlw (03Ch)
subwf ((OFF@i)),w
skipc
goto u2631
goto u2630
u2631:
goto l392
u2630:
goto l394
l393:
line 53
l394:
return
opt stack 0
GLOBAL __end_of_OFF
__end_of_OFF:
;; =============== function _OFF ends ============
signat _OFF,88
global _ON
psect text303,local,class=CODE,delta=2
global __ptext303
__ptext303:
;; *************** function _ON *****************
;; Defined at:
;; line 19 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; i 1 5[COMMON] unsigned char
;; Return value: Size Location Type
;; None void
;; Registers used:
;; wreg, status,2, status,0
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 1 0 0 0
;; Temps: 1 0 0 0
;; Totals: 2 0 0 0
;;Total ram usage: 2 bytes
;; Hardware stack levels used: 1
;; Hardware stack levels required when called: 1
;; This function calls:
;; Nothing
;; This function is called by:
;; _One
;; _Zero
;; This function uses a non-reentrant model
;;
psect text303
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 19
global __size_of_ON
__size_of_ON equ __end_of_ON-_ON
_ON:
opt stack 4
; Regs used in _ON: [wreg+status,2+status,0]
line 20
l2318:
;main.c: 20: unsigned char i = 0;
clrf (ON@i)
line 21
;main.c: 21: do
l387:
line 23
;main.c: 22: {
;main.c: 23: RA0 = 1;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
bsf (40/8),(40)&7
line 24
;main.c: 24: RA0 = 1;
bsf (40/8),(40)&7
line 25
;main.c: 25: RA0 = 1;
bsf (40/8),(40)&7
line 26
;main.c: 26: RA0 = 1;
bsf (40/8),(40)&7
line 28
;main.c: 28: RA0 = 0;
bcf (40/8),(40)&7
line 29
;main.c: 29: RA0 = 0;
bcf (40/8),(40)&7
line 30
;main.c: 30: RA0 = 0;
bcf (40/8),(40)&7
line 31
;main.c: 31: RA0 = 0;
bcf (40/8),(40)&7
line 32
;main.c: 32: RA0 = 0;
bcf (40/8),(40)&7
line 33
;main.c: 33: RA0 = 0;
bcf (40/8),(40)&7
line 34
;main.c: 34: RA0 = 0;
bcf (40/8),(40)&7
line 35
;main.c: 35: RA0 = 0;
bcf (40/8),(40)&7
line 36
;main.c: 36: RA0 = 0;
bcf (40/8),(40)&7
line 37
;main.c: 37: RA0 = 0;
bcf (40/8),(40)&7
line 38
;main.c: 38: RA0 = 0;
bcf (40/8),(40)&7
line 39
l2320:
;main.c: 39: i++;
movlw (01h)
movwf (??_ON+0)+0
movf (??_ON+0)+0,w
addwf (ON@i),f
line 41
l2322:
;main.c: 40: }
;main.c: 41: while(i<32);
movlw (020h)
subwf (ON@i),w
skipc
goto u2621
goto u2620
u2621:
goto l387
u2620:
l388:
line 42
;main.c: 42: RA0 = 0;
bcf (40/8),(40)&7
line 43
l389:
return
opt stack 0
GLOBAL __end_of_ON
__end_of_ON:
;; =============== function _ON ends ============
signat _ON,88
global _ISR
psect text304,local,class=CODE,delta=2
global __ptext304
__ptext304:
;; *************** function _ISR *****************
;; Defined at:
;; line 59 in file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
;; Parameters: Size Location Type
;; None
;; Auto vars: Size Location Type
;; None
;; Return value: Size Location Type
;; None void
;; Registers used:
;; None
;; Tracked objects:
;; On entry : 0/0
;; On exit : 0/0
;; Unchanged: 0/0
;; Data sizes: COMMON BANK0 BANK1 BANK2
;; Params: 0 0 0 0
;; Locals: 0 0 0 0
;; Temps: 4 0 0 0
;; Totals: 4 0 0 0
;;Total ram usage: 4 bytes
;; Hardware stack levels used: 1
;; This function calls:
;; Nothing
;; This function is called by:
;; Interrupt level 1
;; This function uses a non-reentrant model
;;
psect text304
file "C:\Users\132033dt\Desktop\pic_rc5\src\main.c"
line 59
global __size_of_ISR
__size_of_ISR equ __end_of_ISR-_ISR
_ISR:
opt stack 4
; Regs used in _ISR: []
psect intentry,class=CODE,delta=2
global __pintentry
__pintentry:
global interrupt_function
interrupt_function:
global saved_w
saved_w set btemp+0
movwf saved_w
swapf status,w
movwf (??_ISR+0)
movf fsr0,w
movwf (??_ISR+1)
movf pclath,w
movwf (??_ISR+2)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movf btemp+1,w
movwf (??_ISR+3)
ljmp _ISR
psect text304
line 61
i1l397:
movf (??_ISR+3),w
movwf btemp+1
movf (??_ISR+2),w
movwf pclath
movf (??_ISR+1),w
movwf fsr0
swapf (??_ISR+0)^0FFFFFF80h,w
movwf status
swapf saved_w,f
swapf saved_w,w
retfie
opt stack 0
GLOBAL __end_of_ISR
__end_of_ISR:
;; =============== function _ISR ends ============
signat _ISR,88
psect text305,local,class=CODE,delta=2
global __ptext305
__ptext305:
global btemp
btemp set 07Eh
DABS 1,126,2 ;btemp
global wtemp0
wtemp0 set btemp
end