pic_rc5/out/RC5_Remote_Control.as

1745 lines
37 KiB
ActionScript
Raw Blame 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
# 43 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
psect config,class=CONFIG,delta=2 ;#
# 43 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
dw 0xFF7F & 0xFFBF & 0xFFFF & 0xFFDF & 0xFFF7 & 0xFFFB & 0xFFED ;#
FNCALL _main,_evaluate_tastatur
FNCALL _main,_SendRc5
FNCALL _SendRc5,_SendEins
FNCALL _SendRc5,_SendNull
FNCALL _SendRc5,_delay_89ms
FNCALL _SendNull,_AN
FNCALL _SendNull,_AUS
FNCALL _SendEins,_AUS
FNCALL _SendEins,_AN
FNROOT _main
FNCALL intlevel1,_ISR
global intlevel1
FNROOT intlevel1
global _CountA
global _CountB
global _CountC
global _cycl_1
global _cycl_2
global _somethingpressed
global _counterms
global _counterus
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:
_counterms:
ds 1
_counterus:
ds 1
_toggle:
ds 1
psect bssBANK0,class=BANK0,space=1
global __pbssBANK0
__pbssBANK0:
_CountA:
ds 2
_CountB:
ds 2
_CountC:
ds 2
_cycl_1:
ds 2
_cycl_2:
ds 2
_somethingpressed:
ds 2
psect clrtext,class=CODE,delta=2
global clear_ram
; Called with FSR containing the base address, and
; W with the last address+1
clear_ram:
clrwdt ;clear the watchdog before getting into this loop
clrloop:
clrf indf ;clear RAM location pointed to by FSR
incf fsr,f ;increment pointer
xorwf fsr,w ;XOR with final address
btfsc status,2 ;have we reached the end yet?
retlw 0 ;all done for this memory range, return
xorwf fsr,w ;XOR again to restore value
goto clrloop ;do the next byte
; 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
bcf status, 7 ;select IRP bank0
movlw low(__pbssBANK0)
movwf fsr
movlw low((__pbssBANK0)+0Ch)
fcall clear_ram
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 ?_AN
?_AN: ; 0 bytes @ 0x0
global ?_AUS
?_AUS: ; 0 bytes @ 0x0
global ?_ISR
?_ISR: ; 0 bytes @ 0x0
global ??_ISR
??_ISR: ; 0 bytes @ 0x0
global ?_delay_89ms
?_delay_89ms: ; 0 bytes @ 0x0
global ?_SendEins
?_SendEins: ; 0 bytes @ 0x0
global ?_SendNull
?_SendNull: ; 0 bytes @ 0x0
global ?_evaluate_tastatur
?_evaluate_tastatur: ; 0 bytes @ 0x0
global ?_main
?_main: ; 0 bytes @ 0x0
ds 4
global ??_AN
??_AN: ; 0 bytes @ 0x4
global ??_AUS
??_AUS: ; 0 bytes @ 0x4
global ??_delay_89ms
??_delay_89ms: ; 0 bytes @ 0x4
global ??_evaluate_tastatur
??_evaluate_tastatur: ; 0 bytes @ 0x4
ds 1
global AN@i
AN@i: ; 1 bytes @ 0x5
global AUS@i
AUS@i: ; 1 bytes @ 0x5
ds 1
global ??_SendEins
??_SendEins: ; 0 bytes @ 0x6
global ??_SendNull
??_SendNull: ; 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 15, persistent 0 stack 0
;;Auto spaces: Size Autos Used
;; COMMON 14 7 10
;; BANK0 80 8 20
;; 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
;; _SendNull->_AN
;; _SendNull->_AUS
;; _SendEins->_AUS
;; _SendEins->_AN
;;
;; 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
;; _SendEins
;; _SendNull
;; _delay_89ms
;; ---------------------------------------------------------------------------------
;; (2) _SendNull 0 0 0 71
;; _AN
;; _AUS
;; ---------------------------------------------------------------------------------
;; (2) _SendEins 0 0 0 71
;; _AUS
;; _AN
;; ---------------------------------------------------------------------------------
;; (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) _AUS 2 2 0 34
;; 4 COMMON 2 2 0
;; ---------------------------------------------------------------------------------
;; (3) _AN 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
;; _SendEins
;; _AUS
;; _AN
;; _SendNull
;; _AN
;; _AUS
;; _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 14 3 25.0%
;;BITSFR3 0 0 0 4 0.0%
;;SFR3 0 0 0 4 0.0%
;;ABS 0 0 1E 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 21 10 0.0%
global _main
psect maintext,global,class=CODE,delta=2
global __pmaintext
__pmaintext:
;; *************** function _main *****************
;; Defined at:
;; line 260 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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\RC5_Remote_Control\src\main.c"
line 260
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 261
l2416:
;main.c: 261: unsigned char comcode = 0;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
clrf (main@comcode)
line 262
;main.c: 262: char subcode = 0;
clrf (main@subcode)
line 264
l2418:
;main.c: 264: OPTION_REG = 0b00000010;
movlw (02h)
bsf status, 5 ;RP0=1, select bank1
bcf status, 6 ;RP1=0, select bank1
movwf (129)^080h ;volatile
line 265
;main.c: 265: CMCON = 0x07;
movlw (07h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (31) ;volatile
line 266
l2420:
;main.c: 266: TRISA = 0x00;
bsf status, 5 ;RP0=1, select bank1
bcf status, 6 ;RP1=0, select bank1
clrf (133)^080h ;volatile
line 267
l2422:
;main.c: 267: TRISB = 0xF0;
movlw (0F0h)
movwf (134)^080h ;volatile
line 269
l2424:
;main.c: 269: GIE = 1;
bsf (95/8),(95)&7
line 270
l2426:
;main.c: 270: CM0 = 1;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
bsf (248/8),(248)&7
line 271
l2428:
;main.c: 271: CM1 = 1;
bsf (249/8),(249)&7
line 272
l2430:
;main.c: 272: CM2 = 1;
bsf (250/8),(250)&7
line 273
;main.c: 273: PORTA = 0;
clrf (5) ;volatile
line 274
l2432:
;main.c: 274: PORTB = 0xFF;
movlw (0FFh)
movwf (6) ;volatile
line 275
l2434:
;main.c: 275: subcode = 29;
movlw (01Dh)
movwf (??_main+0)+0
movf (??_main+0)+0,w
movwf (main@subcode)
line 278
;main.c: 278: INTCON = 0;
clrf (11) ;volatile
line 279
l2436:
;main.c: 279: RBIE = 1;
bsf (91/8),(91)&7
line 280
l2438:
;main.c: 280: char help = 0;
clrf (main@help)
goto l439
line 282
;main.c: 282: while(1)
l438:
line 284
;main.c: 283: {
;main.c: 284: while(!RBIF)
goto l439
l440:
line 285
# 285 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
sleep ;#
psect maintext
l439:
line 284
btfss (88/8),(88)&7
goto u2801
goto u2800
u2801:
goto l440
u2800:
goto l2440
l441:
line 286
l2440:
;main.c: 286: PORTB = 0xFF;
movlw (0FFh)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (6) ;volatile
line 287
l2442:
;main.c: 287: evaluate_tastatur(&comcode);
movlw (main@comcode)&0ffh
fcall _evaluate_tastatur
line 288
l2444:
;main.c: 288: 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 l439
u2810:
line 290
l2446:
;main.c: 289: {
;main.c: 290: 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 291
l2448:
;main.c: 291: somethingpressed = 0;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
clrf (_somethingpressed)
clrf (_somethingpressed+1)
line 292
l2450:
;main.c: 292: help = 1;
clrf (main@help)
bsf status,0
rlf (main@help),f
goto l439
line 293
l442:
goto l439
line 303
l443:
line 282
goto l439
l444:
line 304
l445:
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 229 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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:
;; _SendEins
;; _SendNull
;; _delay_89ms
;; This function is called by:
;; _main
;; This function uses a non-reentrant model
;;
psect text297
file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
line 229
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 231
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (SendRc5@command)
l2374:
;main.c: 230: unsigned char i;
;main.c: 231: SendEins();
fcall _SendEins
line 232
;main.c: 232: SendEins();
fcall _SendEins
line 234
l2376:
;main.c: 234: 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 235
l2378:
;main.c: 235: if(toggle == 1)
movf (_toggle),w
xorlw 01h
skipz
goto u2711
goto u2710
u2711:
goto l2382
u2710:
line 236
l2380:
;main.c: 236: SendEins();
fcall _SendEins
goto l2384
line 237
l425:
line 238
l2382:
;main.c: 237: else
;main.c: 238: SendNull();
fcall _SendNull
goto l2384
l426:
line 240
l2384:
;main.c: 240: 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)
l2386:
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2721
goto u2720
u2721:
goto l2390
u2720:
goto l2400
l2388:
goto l2400
line 241
l427:
line 242
l2390:
;main.c: 241: {
;main.c: 242: 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 l2394
u2740:
line 243
l2392:
;main.c: 243: SendEins();
fcall _SendEins
goto l2396
line 244
l429:
line 245
l2394:
;main.c: 244: else
;main.c: 245: SendNull();
fcall _SendNull
goto l2396
l430:
line 240
l2396:
movlw low(01h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
subwf (SendRc5@i),f
l2398:
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2751
goto u2750
u2751:
goto l2390
u2750:
goto l2400
l428:
line 247
l2400:
;main.c: 246: }
;main.c: 247: 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 l2404
u2760:
goto l2414
l2402:
goto l2414
line 248
l431:
line 249
l2404:
;main.c: 248: {
;main.c: 249: 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 l2408
u2780:
line 250
l2406:
;main.c: 250: SendEins();
fcall _SendEins
goto l2410
line 251
l433:
line 252
l2408:
;main.c: 251: else
;main.c: 252: SendNull();
fcall _SendNull
goto l2410
l434:
line 247
l2410:
movlw low(01h)
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
subwf (SendRc5@i),f
l2412:
movf (SendRc5@i),w
xorlw 0FFh
skipz
goto u2791
goto u2790
u2791:
goto l2404
u2790:
goto l2414
l432:
line 254
l2414:
;main.c: 253: }
;main.c: 254: delay_89ms();
fcall _delay_89ms
line 256
l435:
return
opt stack 0
GLOBAL __end_of_SendRc5
__end_of_SendRc5:
;; =============== function _SendRc5 ends ============
signat _SendRc5,8312
global _SendNull
psect text298,local,class=CODE,delta=2
global __ptext298
__ptext298:
;; *************** function _SendNull *****************
;; Defined at:
;; line 195 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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:
;; _AN
;; _AUS
;; This function is called by:
;; _SendRc5
;; This function uses a non-reentrant model
;;
psect text298
file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
line 195
global __size_of_SendNull
__size_of_SendNull equ __end_of_SendNull-_SendNull
_SendNull:
opt stack 4
; Regs used in _SendNull: [wreg+status,2+status,0+pclath+cstack]
line 196
l2372:
;main.c: 196: AN();
fcall _AN
line 197
;main.c: 197: AUS();
fcall _AUS
line 198
l414:
return
opt stack 0
GLOBAL __end_of_SendNull
__end_of_SendNull:
;; =============== function _SendNull ends ============
signat _SendNull,88
global _SendEins
psect text299,local,class=CODE,delta=2
global __ptext299
__ptext299:
;; *************** function _SendEins *****************
;; Defined at:
;; line 190 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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:
;; _AUS
;; _AN
;; This function is called by:
;; _SendRc5
;; This function uses a non-reentrant model
;;
psect text299
file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
line 190
global __size_of_SendEins
__size_of_SendEins equ __end_of_SendEins-_SendEins
_SendEins:
opt stack 4
; Regs used in _SendEins: [wreg+status,2+status,0+pclath+cstack]
line 191
l2370:
;main.c: 191: AUS();
fcall _AUS
line 192
;main.c: 192: AN();
fcall _AN
line 193
l411:
return
opt stack 0
GLOBAL __end_of_SendEins
__end_of_SendEins:
;; =============== function _SendEins ends ============
signat _SendEins,88
global _evaluate_tastatur
psect text300,local,class=CODE,delta=2
global __ptext300
__ptext300:
;; *************** function _evaluate_tastatur *****************
;; Defined at:
;; line 202 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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\RC5_Remote_Control\src\main.c"
line 202
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 206
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
movwf (evaluate_tastatur@comcode)
l2338:
;main.c: 203: unsigned char i;
;main.c: 204: unsigned char a;
;main.c: 205: unsigned char e;
;main.c: 206: e = 0;
clrf (evaluate_tastatur@e)
line 208
l2340:
;main.c: 208: 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 l2344
u2640:
goto l422
l2342:
goto l422
line 209
l417:
line 210
l2344:
;main.c: 209: {
;main.c: 210: PORTB = 0xFF;
movlw (0FFh)
movwf (6) ;volatile
line 211
l2346:
;main.c: 211: 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 212
l2348:
;main.c: 212: for(a=4; a <= 7; a++)
movlw (04h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
movwf (evaluate_tastatur@a)
l2350:
movlw (08h)
subwf (evaluate_tastatur@a),w
skipc
goto u2661
goto u2660
u2661:
goto l2354
u2660:
goto l2366
l2352:
goto l2366
line 213
l419:
line 214
l2354:
;main.c: 213: {
;main.c: 214: e++;
movlw (01h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
addwf (evaluate_tastatur@e),f
line 215
;main.c: 215: 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 l2362
u2680:
line 217
l2356:
;main.c: 216: {
;main.c: 217: *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 218
l2358:
;main.c: 218: somethingpressed = 1;
movlw low(01h)
movwf (_somethingpressed)
movlw high(01h)
movwf ((_somethingpressed))+1
goto l422
line 219
l2360:
;main.c: 219: return;
goto l422
line 220
l421:
line 212
l2362:
movlw (01h)
movwf (??_evaluate_tastatur+0)+0
movf (??_evaluate_tastatur+0)+0,w
addwf (evaluate_tastatur@a),f
l2364:
movlw (08h)
subwf (evaluate_tastatur@a),w
skipc
goto u2691
goto u2690
u2691:
goto l2354
u2690:
goto l2366
l420:
line 208
l2366:
movlw low(01h)
subwf (evaluate_tastatur@i),f
l2368:
movf (evaluate_tastatur@i),w
xorlw 0FFh
skipz
goto u2701
goto u2700
u2701:
goto l2344
u2700:
goto l422
l418:
line 226
l422:
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 165 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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\RC5_Remote_Control\src\main.c"
line 165
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 167
l2336:
# 167 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
pause89ms ;#
line 168
# 168 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
clrf _CountA ;#
line 169
# 169 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
clrf _CountB ;#
line 170
# 170 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
clrf _CountC ;#
line 171
# 171 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
movlw 0x74 ;#
line 172
# 172 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
movwf _CountB ;#
line 173
# 173 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
movlw 0x02 ;#
line 174
# 174 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
movwf _CountA ;#
line 175
# 175 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
movlw 0x01 ;#
line 176
# 176 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
movwf _CountC ;#
line 178
# 178 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
Loop ;Wiederholung der Zeitverz<EFBFBD>gerung ;#
line 179
# 179 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
decfsz _CountA ;#
line 180
# 180 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
goto Loop ;#
line 181
# 181 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
decfsz _CountB ;#
line 182
# 182 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
goto Loop ;#
line 183
# 183 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
decfsz _CountC ;#
line 184
# 184 "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
goto Loop ;#
psect text301
line 187
;main.c: 186: return;
l408:
return
opt stack 0
GLOBAL __end_of_delay_89ms
__end_of_delay_89ms:
;; =============== function _delay_89ms ends ============
signat _delay_89ms,88
global _AUS
psect text302,local,class=CODE,delta=2
global __ptext302
__ptext302:
;; *************** function _AUS *****************
;; Defined at:
;; line 133 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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:
;; _SendEins
;; _SendNull
;; This function uses a non-reentrant model
;;
psect text302
file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
line 133
global __size_of_AUS
__size_of_AUS equ __end_of_AUS-_AUS
_AUS:
opt stack 4
; Regs used in _AUS: [wreg+status,2+status,0]
line 134
l2332:
;main.c: 134: unsigned char i = 0;
clrf (AUS@i)
line 135
;main.c: 135: do
l400:
line 137
;main.c: 136: {
;main.c: 137: RA0=0;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
bcf (40/8),(40)&7
line 139
l2334:
;main.c: 138: }
;main.c: 139: while(i++<59);
movlw (01h)
movwf (??_AUS+0)+0
movf (??_AUS+0)+0,w
addwf (AUS@i),f
movlw (03Ch)
subwf ((AUS@i)),w
skipc
goto u2631
goto u2630
u2631:
goto l400
u2630:
goto l402
l401:
line 154
l402:
return
opt stack 0
GLOBAL __end_of_AUS
__end_of_AUS:
;; =============== function _AUS ends ============
signat _AUS,88
global _AN
psect text303,local,class=CODE,delta=2
global __ptext303
__ptext303:
;; *************** function _AN *****************
;; Defined at:
;; line 60 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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:
;; _SendEins
;; _SendNull
;; This function uses a non-reentrant model
;;
psect text303
file "C:\Users\132033dt\Desktop\RC5_Remote_Control\src\main.c"
line 60
global __size_of_AN
__size_of_AN equ __end_of_AN-_AN
_AN:
opt stack 4
; Regs used in _AN: [wreg+status,2+status,0]
line 61
l2326:
;main.c: 61: unsigned char i = 0;
clrf (AN@i)
line 62
;main.c: 62: do
l395:
line 64
;main.c: 63: {
;main.c: 64: RA0 = 1;
bcf status, 5 ;RP0=0, select bank0
bcf status, 6 ;RP1=0, select bank0
bsf (40/8),(40)&7
line 65
;main.c: 65: RA0 = 1;
bsf (40/8),(40)&7
line 66
;main.c: 66: RA0 = 1;
bsf (40/8),(40)&7
line 67
;main.c: 67: RA0 = 1;
bsf (40/8),(40)&7
line 69
;main.c: 69: RA0 = 0;
bcf (40/8),(40)&7
line 70
;main.c: 70: RA0 = 0;
bcf (40/8),(40)&7
line 71
;main.c: 71: RA0 = 0;
bcf (40/8),(40)&7
line 72
;main.c: 72: RA0 = 0;
bcf (40/8),(40)&7
line 73
;main.c: 73: RA0 = 0;
bcf (40/8),(40)&7
line 74
;main.c: 74: RA0 = 0;
bcf (40/8),(40)&7
line 75
;main.c: 75: RA0 = 0;
bcf (40/8),(40)&7
line 76
;main.c: 76: RA0 = 0;
bcf (40/8),(40)&7
line 77
;main.c: 77: RA0 = 0;
bcf (40/8),(40)&7
line 78
;main.c: 78: RA0 = 0;
bcf (40/8),(40)&7
line 79
;main.c: 79: RA0 = 0;
bcf (40/8),(40)&7
line 80
l2328:
;main.c: 80: i++;
movlw (01h)
movwf (??_AN+0)+0
movf (??_AN+0)+0,w
addwf (AN@i),f
line 82
l2330:
;main.c: 81: }
;main.c: 82: while(i<32);
movlw (020h)
subwf (AN@i),w
skipc
goto u2621
goto u2620
u2621:
goto l395
u2620:
l396:
line 84
;main.c: 84: RA0 = 0;
bcf (40/8),(40)&7
line 130
l397:
return
opt stack 0
GLOBAL __end_of_AN
__end_of_AN:
;; =============== function _AN ends ============
signat _AN,88
global _ISR
psect text304,local,class=CODE,delta=2
global __ptext304
__ptext304:
;; *************** function _ISR *****************
;; Defined at:
;; line 160 in file "C:\Users\132033dt\Desktop\RC5_Remote_Control\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\RC5_Remote_Control\src\main.c"
line 160
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 162
i1l405:
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