1,104 → 1,103 |
GAS LISTING /tmp/ccRvT1Qm.s page 1 |
GAS LISTING /tmp/ccs6Vjbf.s page 1 |
|
|
1 .file "UIMgr.c" |
2 .arch atmega8 |
3 __SREG__ = 0x3f |
4 __SP_H__ = 0x3e |
5 __SP_L__ = 0x3d |
6 __tmp_reg__ = 0 |
7 __zero_reg__ = 1 |
8 .global __do_copy_data |
9 .global __do_clear_bss |
10 .stabs "/home/kaklik/projects/programy/Atmel_C/AVRcam/",100,0,2,.Ltext0 |
11 .stabs "UIMgr.c",100,0,2,.Ltext0 |
12 .text |
13 .Ltext0: |
14 .stabs "gcc2_compiled.",60,0,0,0 |
15 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0 |
16 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0 |
17 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0 |
18 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0 |
19 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0 |
20 .stabs "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0, |
21 .stabs "long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0 |
22 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0 |
23 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0 |
24 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0 |
25 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0 |
26 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,0 |
27 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,0 |
28 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,0 |
29 .stabs "void:t(0,15)=(0,15)",128,0,0,0 |
30 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/io.h",130,0,0,0 |
31 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/sfr_defs.h",130,0,0,0 |
32 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/inttypes.h",130,0,0,0 |
33 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdint.h",130,0,0,0 |
34 .stabs "int8_t:t(4,1)=(0,10)",128,0,116,0 |
35 .stabs "uint8_t:t(4,2)=(0,11)",128,0,117,0 |
36 .stabs "int16_t:t(4,3)=(0,1)",128,0,118,0 |
37 .stabs "uint16_t:t(4,4)=(0,4)",128,0,119,0 |
38 .stabs "int32_t:t(4,5)=(0,3)",128,0,120,0 |
39 .stabs "uint32_t:t(4,6)=(0,5)",128,0,121,0 |
40 .stabs "int64_t:t(4,7)=(0,6)",128,0,122,0 |
41 .stabs "uint64_t:t(4,8)=(0,7)",128,0,123,0 |
42 .stabs "intptr_t:t(4,9)=(4,3)",128,0,135,0 |
43 .stabs "uintptr_t:t(4,10)=(4,4)",128,0,140,0 |
44 .stabs "int_least8_t:t(4,11)=(4,1)",128,0,152,0 |
45 .stabs "uint_least8_t:t(4,12)=(4,2)",128,0,157,0 |
46 .stabs "int_least16_t:t(4,13)=(4,3)",128,0,162,0 |
47 .stabs "uint_least16_t:t(4,14)=(4,4)",128,0,167,0 |
48 .stabs "int_least32_t:t(4,15)=(4,5)",128,0,172,0 |
49 .stabs "uint_least32_t:t(4,16)=(4,6)",128,0,177,0 |
50 .stabs "int_least64_t:t(4,17)=(4,7)",128,0,182,0 |
51 .stabs "uint_least64_t:t(4,18)=(4,8)",128,0,187,0 |
52 .stabs "int_fast8_t:t(4,19)=(4,1)",128,0,200,0 |
53 .stabs "uint_fast8_t:t(4,20)=(4,2)",128,0,205,0 |
54 .stabs "int_fast16_t:t(4,21)=(4,3)",128,0,210,0 |
55 .stabs "uint_fast16_t:t(4,22)=(4,4)",128,0,215,0 |
56 .stabs "int_fast32_t:t(4,23)=(4,5)",128,0,220,0 |
57 .stabs "uint_fast32_t:t(4,24)=(4,6)",128,0,225,0 |
GAS LISTING /tmp/ccRvT1Qm.s page 2 |
2 __SREG__ = 0x3f |
3 __SP_H__ = 0x3e |
4 __SP_L__ = 0x3d |
5 __tmp_reg__ = 0 |
6 __zero_reg__ = 1 |
7 .global __do_copy_data |
8 .global __do_clear_bss |
9 .stabs "/home/kaklik/projects/programy/C/avr/AVRcam/",100,0,2,.Ltext0 |
10 .stabs "UIMgr.c",100,0,2,.Ltext0 |
11 .text |
12 .Ltext0: |
13 .stabs "gcc2_compiled.",60,0,0,0 |
14 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0 |
15 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,0 |
16 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,0 |
17 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0 |
18 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,0 |
19 .stabs "long long int:t(0,6)=@s64;r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0, |
20 .stabs "long long unsigned int:t(0,7)=@s64;r(0,7);0;01777777777777777777777;",128,0,0,0 |
21 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0 |
22 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0 |
23 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,0 |
24 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,0 |
25 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,0 |
26 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,0 |
27 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,0 |
28 .stabs "void:t(0,15)=(0,15)",128,0,0,0 |
29 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/io.h",130,0,0,0 |
30 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/sfr_defs.h",130,0,0,0 |
31 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/inttypes.h",130,0,0,0 |
32 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdint.h",130,0,0,0 |
33 .stabs "int8_t:t(4,1)=(0,10)",128,0,116,0 |
34 .stabs "uint8_t:t(4,2)=(0,11)",128,0,117,0 |
35 .stabs "int16_t:t(4,3)=(0,1)",128,0,118,0 |
36 .stabs "uint16_t:t(4,4)=(0,4)",128,0,119,0 |
37 .stabs "int32_t:t(4,5)=(0,3)",128,0,120,0 |
38 .stabs "uint32_t:t(4,6)=(0,5)",128,0,121,0 |
39 .stabs "int64_t:t(4,7)=(0,6)",128,0,122,0 |
40 .stabs "uint64_t:t(4,8)=(0,7)",128,0,123,0 |
41 .stabs "intptr_t:t(4,9)=(4,3)",128,0,135,0 |
42 .stabs "uintptr_t:t(4,10)=(4,4)",128,0,140,0 |
43 .stabs "int_least8_t:t(4,11)=(4,1)",128,0,152,0 |
44 .stabs "uint_least8_t:t(4,12)=(4,2)",128,0,157,0 |
45 .stabs "int_least16_t:t(4,13)=(4,3)",128,0,162,0 |
46 .stabs "uint_least16_t:t(4,14)=(4,4)",128,0,167,0 |
47 .stabs "int_least32_t:t(4,15)=(4,5)",128,0,172,0 |
48 .stabs "uint_least32_t:t(4,16)=(4,6)",128,0,177,0 |
49 .stabs "int_least64_t:t(4,17)=(4,7)",128,0,182,0 |
50 .stabs "uint_least64_t:t(4,18)=(4,8)",128,0,187,0 |
51 .stabs "int_fast8_t:t(4,19)=(4,1)",128,0,200,0 |
52 .stabs "uint_fast8_t:t(4,20)=(4,2)",128,0,205,0 |
53 .stabs "int_fast16_t:t(4,21)=(4,3)",128,0,210,0 |
54 .stabs "uint_fast16_t:t(4,22)=(4,4)",128,0,215,0 |
55 .stabs "int_fast32_t:t(4,23)=(4,5)",128,0,220,0 |
56 .stabs "uint_fast32_t:t(4,24)=(4,6)",128,0,225,0 |
57 .stabs "int_fast64_t:t(4,25)=(4,7)",128,0,230,0 |
GAS LISTING /tmp/ccs6Vjbf.s page 2 |
|
|
58 .stabs "int_fast64_t:t(4,25)=(4,7)",128,0,230,0 |
59 .stabs "uint_fast64_t:t(4,26)=(4,8)",128,0,235,0 |
60 .stabs "intmax_t:t(4,27)=(4,7)",128,0,249,0 |
61 .stabs "uintmax_t:t(4,28)=(4,8)",128,0,254,0 |
62 .stabn 162,0,0,0 |
63 .stabs "int_farptr_t:t(3,1)=(4,5)",128,0,76,0 |
64 .stabs "uint_farptr_t:t(3,2)=(4,6)",128,0,80,0 |
58 .stabs "uint_fast64_t:t(4,26)=(4,8)",128,0,235,0 |
59 .stabs "intmax_t:t(4,27)=(4,7)",128,0,249,0 |
60 .stabs "uintmax_t:t(4,28)=(4,8)",128,0,254,0 |
61 .stabn 162,0,0,0 |
62 .stabs "int_farptr_t:t(3,1)=(4,5)",128,0,76,0 |
63 .stabs "uint_farptr_t:t(3,2)=(4,6)",128,0,80,0 |
64 .stabn 162,0,0,0 |
65 .stabn 162,0,0,0 |
66 .stabn 162,0,0,0 |
67 .stabn 162,0,0,0 |
68 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/stdlib.h",130,0,0,0 |
69 .stabs "/usr/lib/gcc/avr/4.1.0/include/stddef.h",130,0,0,0 |
70 .stabs "size_t:t(6,1)=(0,4)",128,0,214,0 |
71 .stabs "wchar_t:t(6,2)=(0,1)",128,0,326,0 |
72 .stabn 162,0,0,0 |
73 .stabs "div_t:t(5,1)=(5,2)=s4quot:(0,1),0,16;rem:(0,1),16,16;;",128,0,69,0 |
74 .stabs "ldiv_t:t(5,3)=(5,4)=s8quot:(0,3),0,32;rem:(0,3),32,32;;",128,0,75,0 |
75 .stabs "__compar_fn_t:t(5,5)=(5,6)=*(5,7)=f(0,1)",128,0,78,0 |
76 .stabn 162,0,0,0 |
77 .stabs "CommonDefs.h",130,0,0,0 |
78 .stabs "bool_t:t(7,1)=(0,11)",128,0,56,0 |
79 .stabn 162,0,0,0 |
80 .stabs "CamConfig.h",130,0,0,0 |
81 .stabs "I2CInterface.h",130,0,0,0 |
82 .stabs "i2cCmd_t:t(9,1)=(9,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,0 |
67 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdlib.h",130,0,0,0 |
68 .stabs "/usr/lib/gcc/avr/4.2.1/include/stddef.h",130,0,0,0 |
69 .stabs "size_t:t(6,1)=(0,4)",128,0,214,0 |
70 .stabs "wchar_t:t(6,2)=(0,1)",128,0,326,0 |
71 .stabn 162,0,0,0 |
72 .stabs "div_t:t(5,1)=(5,2)=s4quot:(0,1),0,16;rem:(0,1),16,16;;",128,0,69,0 |
73 .stabs "ldiv_t:t(5,3)=(5,4)=s8quot:(0,3),0,32;rem:(0,3),32,32;;",128,0,75,0 |
74 .stabs "__compar_fn_t:t(5,5)=(5,6)=*(5,7)=f(0,1)",128,0,78,0 |
75 .stabn 162,0,0,0 |
76 .stabs "CommonDefs.h",130,0,0,0 |
77 .stabs "bool_t:t(7,1)=(0,11)",128,0,56,0 |
78 .stabn 162,0,0,0 |
79 .stabs "CamConfig.h",130,0,0,0 |
80 .stabs "I2CInterface.h",130,0,0,0 |
81 .stabs "i2cCmd_t:t(9,1)=(9,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,0 |
82 .stabn 162,0,0,0 |
83 .stabn 162,0,0,0 |
84 .stabn 162,0,0,0 |
85 .stabs " :T(0,16)=@s8;egetVersionCmd:0,pingCmd:1,setCameraRegsCmd:2,dumpFrameCmd:3,enableTrackingC |
86 .stabs "UIMgr_Cmd_t:t(0,17)=(0,16)",128,0,81,0 |
87 .stabs " :T(0,18)=@s8;esetRed:0,setGreen:1,setBlue:2,;",128,0,0,0 |
88 .stabs "setColorState_t:t(0,19)=(0,18)",128,0,88,0 |
89 .stabs "UIMgr_writeBufferToTxFifo:F(0,15)",36,0,547,UIMgr_writeBufferToTxFifo |
90 .stabs "pData:P(0,20)=*(0,11)",64,0,546,26 |
91 .stabs "length:P(0,11)",64,0,546,24 |
92 .global UIMgr_writeBufferToTxFifo |
93 .type UIMgr_writeBufferToTxFifo, @function |
94 UIMgr_writeBufferToTxFifo: |
95 .stabd 46,0,0 |
84 .stabs " :T(0,16)=@s8;egetVersionCmd:0,pingCmd:1,setCameraRegsCmd:2,dumpFrameCmd:3,enableTrackingC |
85 .stabs "UIMgr_Cmd_t:t(0,17)=(0,16)",128,0,81,0 |
86 .stabs " :T(0,18)=@s8;esetRed:0,setGreen:1,setBlue:2,;",128,0,0,0 |
87 .stabs "setColorState_t:t(0,19)=(0,18)",128,0,88,0 |
88 .stabs "UIMgr_writeBufferToTxFifo:F(0,15)",36,0,547,UIMgr_writeBufferToTxFifo |
89 .stabs "pData:P(0,20)=*(0,11)",64,0,546,26 |
90 .stabs "length:P(0,11)",64,0,546,22 |
91 .global UIMgr_writeBufferToTxFifo |
92 .type UIMgr_writeBufferToTxFifo, @function |
93 UIMgr_writeBufferToTxFifo: |
94 .stabd 46,0,0 |
1:UIMgr.c **** /* |
2:UIMgr.c **** Copyright (C) 2004 John Orlando |
3:UIMgr.c **** |
118,10 → 117,10 |
17:UIMgr.c **** License along with this program; if not, write to the Free Software |
18:UIMgr.c **** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19:UIMgr.c **** |
GAS LISTING /tmp/ccRvT1Qm.s page 3 |
20:UIMgr.c **** For more information on the AVRcam, please contact: |
GAS LISTING /tmp/ccs6Vjbf.s page 3 |
|
|
20:UIMgr.c **** For more information on the AVRcam, please contact: |
21:UIMgr.c **** |
22:UIMgr.c **** john@jrobot.net |
23:UIMgr.c **** |
178,10 → 177,10 |
74:UIMgr.c **** dumpFrameCmd, |
75:UIMgr.c **** enableTrackingCmd, |
76:UIMgr.c **** disableTrackingCmd, |
GAS LISTING /tmp/ccRvT1Qm.s page 4 |
77:UIMgr.c **** setColorMapCmd, |
GAS LISTING /tmp/ccs6Vjbf.s page 4 |
|
|
77:UIMgr.c **** setColorMapCmd, |
78:UIMgr.c **** resetCameraCmd, |
79:UIMgr.c **** noCmd, |
80:UIMgr.c **** invalidCmd |
238,10 → 237,10 |
131:UIMgr.c **** initializing the UIMgr module. It sets up the fifo |
132:UIMgr.c **** used to hold incoming data, etc. |
133:UIMgr.c **** Inputs: none |
GAS LISTING /tmp/ccRvT1Qm.s page 5 |
134:UIMgr.c **** Outputs: none |
GAS LISTING /tmp/ccs6Vjbf.s page 5 |
|
|
134:UIMgr.c **** Outputs: none |
135:UIMgr.c **** ***********************************************************/ |
136:UIMgr.c **** void UIMgr_init(void) |
137:UIMgr.c **** { |
298,10 → 297,10 |
188:UIMgr.c **** parsing any serial data waiting in the rx fifo |
189:UIMgr.c **** Inputs: none |
190:UIMgr.c **** Outputs: none |
GAS LISTING /tmp/ccRvT1Qm.s page 6 |
191:UIMgr.c **** ***********************************************************/ |
GAS LISTING /tmp/ccs6Vjbf.s page 6 |
|
|
191:UIMgr.c **** ***********************************************************/ |
192:UIMgr.c **** void UIMgr_processReceivedData(void) |
193:UIMgr.c **** { |
194:UIMgr.c **** unsigned char tmpData = 0; |
358,10 → 357,10 |
245:UIMgr.c **** means we have received a token, with tokenCount == 0, which means it is a |
246:UIMgr.c **** command...why is this contributing to tokenCount? |
247:UIMgr.c **** This might cause the set color map command to include too much data, since |
GAS LISTING /tmp/ccRvT1Qm.s page 7 |
248:UIMgr.c **** it sets the color map based on tokenCount...CHECK*/ |
GAS LISTING /tmp/ccs6Vjbf.s page 7 |
|
|
248:UIMgr.c **** it sets the color map based on tokenCount...CHECK*/ |
249:UIMgr.c **** } |
250:UIMgr.c **** else |
251:UIMgr.c **** { |
418,10 → 417,10 |
302:UIMgr.c **** executing whatever cmd is stored in the receivedCmd |
303:UIMgr.c **** object. |
304:UIMgr.c **** Inputs: none |
GAS LISTING /tmp/ccRvT1Qm.s page 8 |
305:UIMgr.c **** Outputs: none |
GAS LISTING /tmp/ccs6Vjbf.s page 8 |
|
|
305:UIMgr.c **** Outputs: none |
306:UIMgr.c **** ***********************************************************/ |
307:UIMgr.c **** static void UIMgr_executeCmd(void) |
308:UIMgr.c **** { |
478,10 → 477,10 |
359:UIMgr.c **** } |
360:UIMgr.c **** else if (receivedCmd == disableTrackingCmd) |
361:UIMgr.c **** { |
GAS LISTING /tmp/ccRvT1Qm.s page 9 |
362:UIMgr.c **** PUBLISH_EVENT(EV_DISABLE_TRACKING); |
GAS LISTING /tmp/ccs6Vjbf.s page 9 |
|
|
362:UIMgr.c **** PUBLISH_EVENT(EV_DISABLE_TRACKING); |
363:UIMgr.c **** } |
364:UIMgr.c **** else if (receivedCmd == setColorMapCmd) |
365:UIMgr.c **** { |
538,10 → 537,10 |
416:UIMgr.c **** access the asciiTokenBuffer directly, and store the |
417:UIMgr.c **** result in the appropriate token buffer. |
418:UIMgr.c **** Inputs: none |
GAS LISTING /tmp/ccRvT1Qm.s page 10 |
419:UIMgr.c **** Outputs: none |
GAS LISTING /tmp/ccs6Vjbf.s page 10 |
|
|
419:UIMgr.c **** Outputs: none |
420:UIMgr.c **** ***********************************************************/ |
421:UIMgr.c **** static void UIMgr_convertTokenToValue(void) |
422:UIMgr.c **** { |
598,10 → 597,10 |
473:UIMgr.c **** /* the user wants to set registers in the OV6620 */ |
474:UIMgr.c **** receivedCmd = setCameraRegsCmd; |
475:UIMgr.c **** } |
GAS LISTING /tmp/ccRvT1Qm.s page 11 |
476:UIMgr.c **** else if ( (asciiTokenBuffer[0] == 'E') && |
GAS LISTING /tmp/ccs6Vjbf.s page 11 |
|
|
476:UIMgr.c **** else if ( (asciiTokenBuffer[0] == 'E') && |
477:UIMgr.c **** (asciiTokenBuffer[1] == 'T') ) |
478:UIMgr.c **** { |
479:UIMgr.c **** /* the user wants to enable tracking */ |
658,10 → 657,10 |
530:UIMgr.c **** { |
531:UIMgr.c **** UIMgr_writeTxFifo('N'); |
532:UIMgr.c **** UIMgr_writeTxFifo('C'); |
GAS LISTING /tmp/ccRvT1Qm.s page 12 |
533:UIMgr.c **** UIMgr_writeTxFifo('K'); |
GAS LISTING /tmp/ccs6Vjbf.s page 12 |
|
|
533:UIMgr.c **** UIMgr_writeTxFifo('K'); |
534:UIMgr.c **** UIMgr_writeTxFifo('\r'); |
535:UIMgr.c **** } |
536:UIMgr.c **** |
676,90 → 675,90 |
545:UIMgr.c **** ***********************************************************/ |
546:UIMgr.c **** void UIMgr_writeBufferToTxFifo(unsigned char *pData, unsigned char length) |
547:UIMgr.c **** { |
96 .stabn 68,0,547,.LM0-UIMgr_writeBufferToTxFifo |
97 .LM0: |
95 .stabn 68,0,547,.LM0-.LFBB1 |
96 .LM0: |
97 .LFBB1: |
98 /* prologue: frame size=0 */ |
99 /* prologue end (size=0) */ |
100 0000 DC01 movw r26,r24 |
101 0002 862F mov r24,r22 |
548:UIMgr.c **** unsigned char tmpHead; |
549:UIMgr.c **** if (length == 0) |
102 .stabn 68,0,549,.LM1-UIMgr_writeBufferToTxFifo |
103 .LM1: |
104 0004 6623 tst r22 |
105 0006 C9F0 breq .L7 |
101 .stabn 68,0,549,.LM1-.LFBB1 |
102 .LM1: |
103 0002 6623 tst r22 |
104 0004 01F0 breq .L8 |
550:UIMgr.c **** { |
551:UIMgr.c **** return; |
552:UIMgr.c **** } |
553:UIMgr.c **** |
554:UIMgr.c **** DISABLE_INTS(); |
106 .stabn 68,0,554,.LM2-UIMgr_writeBufferToTxFifo |
107 .LM2: |
108 /* #APP */ |
109 0008 F894 cli |
105 .stabn 68,0,554,.LM2-.LFBB1 |
106 .LM2: |
107 /* #APP */ |
108 0006 F894 cli |
555:UIMgr.c **** while(length-- != 0) |
110 .stabn 68,0,555,.LM3-UIMgr_writeBufferToTxFifo |
111 .LM3: |
112 /* #NOAPP */ |
113 000a 6150 subi r22,lo8(-(-1)) |
114 000c 6F3F cpi r22,lo8(-1) |
115 000e A1F0 breq .L4 |
116 0010 262F mov r18,r22 |
117 0012 40E0 ldi r20,lo8(UIMgr_txFifo) |
118 0014 50E0 ldi r21,hi8(UIMgr_txFifo) |
119 0016 861B sub r24,r22 |
120 0018 682F mov r22,r24 |
121 001a 6250 subi r22,lo8(-(-2)) |
122 .L6: |
109 .stabn 68,0,555,.LM3-.LFBB1 |
110 .LM3: |
111 /* #NOAPP */ |
112 0008 6150 subi r22,lo8(-(-1)) |
113 000a 6F3F cpi r22,lo8(-1) |
114 000c 01F0 breq .L4 |
115 000e 9091 0000 lds r25,UIMgr_txFifoHead |
556:UIMgr.c **** { |
557:UIMgr.c **** UIMgr_txFifo[UIMgr_txFifoHead] = *pData++; |
123 .stabn 68,0,557,.LM4-UIMgr_writeBufferToTxFifo |
124 .LM4: |
125 001c 8091 0000 lds r24,UIMgr_txFifoHead |
126 0020 FA01 movw r30,r20 |
127 0022 E80F add r30,r24 |
GAS LISTING /tmp/ccRvT1Qm.s page 13 |
116 .stabn 68,0,557,.LM4-.LFBB1 |
117 .LM4: |
118 0012 20E0 ldi r18,lo8(UIMgr_txFifo) |
119 0014 30E0 ldi r19,hi8(UIMgr_txFifo) |
120 .L6: |
121 0016 F901 movw r30,r18 |
122 0018 E90F add r30,r25 |
123 001a F11D adc r31,__zero_reg__ |
124 001c 8D91 ld r24,X+ |
125 001e 8083 st Z,r24 |
558:UIMgr.c **** |
559:UIMgr.c **** /* now move the head up */ |
GAS LISTING /tmp/ccs6Vjbf.s page 13 |
|
|
128 0024 F11D adc r31,__zero_reg__ |
129 0026 9D91 ld r25,X+ |
130 0028 9083 st Z,r25 |
558:UIMgr.c **** |
559:UIMgr.c **** /* now move the head up */ |
560:UIMgr.c **** tmpHead = (UIMgr_txFifoHead + 1) & (UI_MGR_TX_FIFO_MASK); |
126 .stabn 68,0,560,.LM5-.LFBB1 |
127 .LM5: |
128 0020 892F mov r24,r25 |
129 0022 8F5F subi r24,lo8(-(1)) |
130 0024 982F mov r25,r24 |
131 0026 9F73 andi r25,lo8(63) |
132 .stabn 68,0,555,.LM6-.LFBB1 |
133 .LM6: |
134 0028 6150 subi r22,1 |
135 002a 00F4 brcc .L6 |
136 002c 9093 0000 sts UIMgr_txFifoHead,r25 |
137 .L4: |
561:UIMgr.c **** UIMgr_txFifoHead = tmpHead; |
131 .stabn 68,0,561,.LM5-UIMgr_writeBufferToTxFifo |
132 .LM5: |
133 002a 8F5F subi r24,lo8(-(1)) |
134 002c 8F73 andi r24,lo8(63) |
135 002e 8093 0000 sts UIMgr_txFifoHead,r24 |
136 .stabn 68,0,555,.LM6-UIMgr_writeBufferToTxFifo |
137 .LM6: |
138 0032 2150 subi r18,lo8(-(-1)) |
139 0034 6217 cp r22,r18 |
140 0036 91F7 brne .L6 |
141 .L4: |
562:UIMgr.c **** } |
563:UIMgr.c **** ENABLE_INTS(); |
142 .stabn 68,0,563,.LM7-UIMgr_writeBufferToTxFifo |
143 .LM7: |
144 /* #APP */ |
145 0038 7894 sei |
146 /* #NOAPP */ |
147 .L7: |
148 003a 0895 ret |
149 /* epilogue: frame size=0 */ |
150 /* epilogue: noreturn */ |
151 /* epilogue end (size=0) */ |
152 /* function UIMgr_writeBufferToTxFifo size 32 (32) */ |
153 .size UIMgr_writeBufferToTxFifo, .-UIMgr_writeBufferToTxFifo |
154 .Lscope0: |
155 .stabs "",36,0,0,.Lscope0-UIMgr_writeBufferToTxFifo |
156 .stabd 78,0,0 |
157 .stabs "UIMgr_readTxFifo:f(0,11)",36,0,630,UIMgr_readTxFifo |
158 .type UIMgr_readTxFifo, @function |
159 UIMgr_readTxFifo: |
160 .stabd 46,0,0 |
138 .stabn 68,0,563,.LM7-.LFBB1 |
139 .LM7: |
140 /* #APP */ |
141 0030 7894 sei |
142 /* #NOAPP */ |
143 .L8: |
144 0032 0895 ret |
145 /* epilogue: frame size=0 */ |
146 /* epilogue: noreturn */ |
147 /* epilogue end (size=0) */ |
148 /* function UIMgr_writeBufferToTxFifo size 29 (29) */ |
149 .size UIMgr_writeBufferToTxFifo, .-UIMgr_writeBufferToTxFifo |
150 .stabs "tmpHead:r(0,11)",64,0,548,25 |
151 .stabn 192,0,0,.LFBB1-.LFBB1 |
152 .stabn 224,0,0,.Lscope1-.LFBB1 |
153 .Lscope1: |
154 .stabs "",36,0,0,.Lscope1-.LFBB1 |
155 .stabd 78,0,0 |
156 .stabs "UIMgr_readTxFifo:f(0,11)",36,0,630,UIMgr_readTxFifo |
157 .type UIMgr_readTxFifo, @function |
158 UIMgr_readTxFifo: |
159 .stabd 46,0,0 |
564:UIMgr.c **** } |
565:UIMgr.c **** |
566:UIMgr.c **** /*********************************************************** |
778,10 → 777,10 |
579:UIMgr.c **** UartInt_txByte(*pData++); |
580:UIMgr.c **** } |
581:UIMgr.c **** } |
GAS LISTING /tmp/ccRvT1Qm.s page 14 |
582:UIMgr.c **** |
GAS LISTING /tmp/ccs6Vjbf.s page 14 |
|
|
582:UIMgr.c **** |
583:UIMgr.c **** /*********************************************************** |
584:UIMgr.c **** Function Name: UIMgr_flushTxBuffer |
585:UIMgr.c **** Function Description: This function is responsible for |
830,8 → 829,9 |
628:UIMgr.c **** ***********************************************************/ |
629:UIMgr.c **** static unsigned char UIMgr_readTxFifo(void) |
630:UIMgr.c **** { |
161 .stabn 68,0,630,.LM8-UIMgr_readTxFifo |
162 .LM8: |
160 .stabn 68,0,630,.LM8-.LFBB2 |
161 .LM8: |
162 .LFBB2: |
163 /* prologue: frame size=0 */ |
164 /* prologue end (size=0) */ |
631:UIMgr.c **** unsigned char dataByte, tmpTail; |
838,52 → 838,52 |
632:UIMgr.c **** |
633:UIMgr.c **** /* just return the current tail from the tx fifo */ |
634:UIMgr.c **** DISABLE_INTS(); |
GAS LISTING /tmp/ccRvT1Qm.s page 15 |
GAS LISTING /tmp/ccs6Vjbf.s page 15 |
|
|
165 .stabn 68,0,634,.LM9-UIMgr_readTxFifo |
165 .stabn 68,0,634,.LM9-.LFBB2 |
166 .LM9: |
167 /* #APP */ |
168 003c F894 cli |
168 0034 F894 cli |
635:UIMgr.c **** dataByte = UIMgr_txFifo[UIMgr_txFifoTail]; |
169 .stabn 68,0,635,.LM10-UIMgr_readTxFifo |
169 .stabn 68,0,635,.LM10-.LFBB2 |
170 .LM10: |
171 /* #NOAPP */ |
172 003e 9091 0000 lds r25,UIMgr_txFifoTail |
173 0042 E0E0 ldi r30,lo8(UIMgr_txFifo) |
174 0044 F0E0 ldi r31,hi8(UIMgr_txFifo) |
175 0046 E90F add r30,r25 |
176 0048 F11D adc r31,__zero_reg__ |
177 004a 8081 ld r24,Z |
172 0036 9091 0000 lds r25,UIMgr_txFifoTail |
173 003a E0E0 ldi r30,lo8(UIMgr_txFifo) |
174 003c F0E0 ldi r31,hi8(UIMgr_txFifo) |
175 003e E90F add r30,r25 |
176 0040 F11D adc r31,__zero_reg__ |
177 0042 8081 ld r24,Z |
636:UIMgr.c **** tmpTail = (UIMgr_txFifoTail+1) & (UI_MGR_TX_FIFO_MASK); |
637:UIMgr.c **** UIMgr_txFifoTail = tmpTail; |
178 .stabn 68,0,637,.LM11-UIMgr_readTxFifo |
178 .stabn 68,0,637,.LM11-.LFBB2 |
179 .LM11: |
180 004c 9F5F subi r25,lo8(-(1)) |
181 004e 9F73 andi r25,lo8(63) |
182 0050 9093 0000 sts UIMgr_txFifoTail,r25 |
180 0044 9F5F subi r25,lo8(-(1)) |
181 0046 9F73 andi r25,lo8(63) |
182 0048 9093 0000 sts UIMgr_txFifoTail,r25 |
638:UIMgr.c **** ENABLE_INTS(); |
183 .stabn 68,0,638,.LM12-UIMgr_readTxFifo |
183 .stabn 68,0,638,.LM12-.LFBB2 |
184 .LM12: |
185 /* #APP */ |
186 0054 7894 sei |
186 004c 7894 sei |
639:UIMgr.c **** |
640:UIMgr.c **** return(dataByte); |
641:UIMgr.c **** } |
187 .stabn 68,0,641,.LM13-UIMgr_readTxFifo |
187 .stabn 68,0,641,.LM13-.LFBB2 |
188 .LM13: |
189 /* #NOAPP */ |
190 0056 9927 clr r25 |
190 004e 9927 clr r25 |
191 /* epilogue: frame size=0 */ |
192 0058 0895 ret |
192 0050 0895 ret |
193 /* epilogue end (size=1) */ |
194 /* function UIMgr_readTxFifo size 17 (16) */ |
195 .size UIMgr_readTxFifo, .-UIMgr_readTxFifo |
196 .stabs "dataByte:r(0,11)",64,0,631,24 |
197 .stabn 192,0,0,UIMgr_readTxFifo-UIMgr_readTxFifo |
198 .stabn 224,0,0,.Lscope1-UIMgr_readTxFifo |
199 .Lscope1: |
200 .stabs "",36,0,0,.Lscope1-UIMgr_readTxFifo |
197 .stabn 192,0,0,.LFBB2-.LFBB2 |
198 .stabn 224,0,0,.Lscope2-.LFBB2 |
199 .Lscope2: |
200 .stabs "",36,0,0,.Lscope2-.LFBB2 |
201 .stabd 78,0,0 |
202 .stabs "UIMgr_writeTxFifo:F(0,15)",36,0,652,UIMgr_writeTxFifo |
203 .stabs "data:P(0,11)",64,0,651,24 |
898,7 → 898,7 |
646:UIMgr.c **** writing a single byte to the TxFifo and |
647:UIMgr.c **** updating the appropriate pointers. |
648:UIMgr.c **** Inputs: data - the byte to write to the Fifo |
GAS LISTING /tmp/ccRvT1Qm.s page 16 |
GAS LISTING /tmp/ccs6Vjbf.s page 16 |
|
|
649:UIMgr.c **** Outputs: none |
905,1448 → 905,1510 |
650:UIMgr.c **** ***********************************************************/ |
651:UIMgr.c **** void UIMgr_writeTxFifo(unsigned char data) |
652:UIMgr.c **** { |
208 .stabn 68,0,652,.LM14-UIMgr_writeTxFifo |
208 .stabn 68,0,652,.LM14-.LFBB3 |
209 .LM14: |
210 /* prologue: frame size=0 */ |
211 /* prologue end (size=0) */ |
210 .LFBB3: |
211 /* prologue: frame size=0 */ |
212 /* prologue end (size=0) */ |
653:UIMgr.c **** unsigned char tmpHead; |
654:UIMgr.c **** |
655:UIMgr.c **** DISABLE_INTS(); |
212 .stabn 68,0,655,.LM15-UIMgr_writeTxFifo |
213 .LM15: |
214 /* #APP */ |
215 005a F894 cli |
213 .stabn 68,0,655,.LM15-.LFBB3 |
214 .LM15: |
215 /* #APP */ |
216 0052 F894 cli |
656:UIMgr.c **** UIMgr_txFifo[UIMgr_txFifoHead] = data; |
216 .stabn 68,0,656,.LM16-UIMgr_writeTxFifo |
217 .LM16: |
218 /* #NOAPP */ |
219 005c 9091 0000 lds r25,UIMgr_txFifoHead |
220 0060 E0E0 ldi r30,lo8(UIMgr_txFifo) |
221 0062 F0E0 ldi r31,hi8(UIMgr_txFifo) |
222 0064 E90F add r30,r25 |
223 0066 F11D adc r31,__zero_reg__ |
224 0068 8083 st Z,r24 |
217 .stabn 68,0,656,.LM16-.LFBB3 |
218 .LM16: |
219 /* #NOAPP */ |
220 0054 9091 0000 lds r25,UIMgr_txFifoHead |
221 0058 E0E0 ldi r30,lo8(UIMgr_txFifo) |
222 005a F0E0 ldi r31,hi8(UIMgr_txFifo) |
223 005c E90F add r30,r25 |
224 005e F11D adc r31,__zero_reg__ |
225 0060 8083 st Z,r24 |
657:UIMgr.c **** |
658:UIMgr.c **** /* now move the head up */ |
659:UIMgr.c **** tmpHead = (UIMgr_txFifoHead + 1) & (UI_MGR_TX_FIFO_MASK); |
660:UIMgr.c **** UIMgr_txFifoHead = tmpHead; |
225 .stabn 68,0,660,.LM17-UIMgr_writeTxFifo |
226 .LM17: |
227 006a 9F5F subi r25,lo8(-(1)) |
228 006c 9F73 andi r25,lo8(63) |
229 006e 9093 0000 sts UIMgr_txFifoHead,r25 |
226 .stabn 68,0,660,.LM17-.LFBB3 |
227 .LM17: |
228 0062 9F5F subi r25,lo8(-(1)) |
229 0064 9F73 andi r25,lo8(63) |
230 0066 9093 0000 sts UIMgr_txFifoHead,r25 |
661:UIMgr.c **** ENABLE_INTS(); |
230 .stabn 68,0,661,.LM18-UIMgr_writeTxFifo |
231 .LM18: |
232 /* #APP */ |
233 0072 7894 sei |
234 /* #NOAPP */ |
235 /* epilogue: frame size=0 */ |
236 0074 0895 ret |
237 /* epilogue end (size=1) */ |
238 /* function UIMgr_writeTxFifo size 16 (15) */ |
239 .size UIMgr_writeTxFifo, .-UIMgr_writeTxFifo |
240 .Lscope2: |
241 .stabs "",36,0,0,.Lscope2-UIMgr_writeTxFifo |
242 .stabd 78,0,0 |
243 .stabs "UIMgr_flushTxBuffer:F(0,15)",36,0,592,UIMgr_flushTxBuffer |
244 .global UIMgr_flushTxBuffer |
245 .type UIMgr_flushTxBuffer, @function |
246 UIMgr_flushTxBuffer: |
247 .stabd 46,0,0 |
248 .stabn 68,0,592,.LM19-UIMgr_flushTxBuffer |
249 .LM19: |
250 /* prologue: frame size=0 */ |
251 /* prologue end (size=0) */ |
GAS LISTING /tmp/ccRvT1Qm.s page 17 |
231 .stabn 68,0,661,.LM18-.LFBB3 |
232 .LM18: |
233 /* #APP */ |
234 006a 7894 sei |
235 /* #NOAPP */ |
236 /* epilogue: frame size=0 */ |
237 006c 0895 ret |
238 /* epilogue end (size=1) */ |
239 /* function UIMgr_writeTxFifo size 16 (15) */ |
240 .size UIMgr_writeTxFifo, .-UIMgr_writeTxFifo |
241 .Lscope3: |
242 .stabs "",36,0,0,.Lscope3-.LFBB3 |
243 .stabd 78,0,0 |
244 .stabs "UIMgr_flushTxBuffer:F(0,15)",36,0,592,UIMgr_flushTxBuffer |
245 .global UIMgr_flushTxBuffer |
246 .type UIMgr_flushTxBuffer, @function |
247 UIMgr_flushTxBuffer: |
248 .stabd 46,0,0 |
249 .stabn 68,0,592,.LM19-.LFBB4 |
250 .LM19: |
251 .LFBB4: |
GAS LISTING /tmp/ccs6Vjbf.s page 17 |
|
|
252 .stabn 68,0,593,.LM20-UIMgr_flushTxBuffer |
253 .LM20: |
254 0076 9091 0000 lds r25,UIMgr_txFifoHead |
255 007a 8091 0000 lds r24,UIMgr_txFifoTail |
256 007e 9817 cp r25,r24 |
257 0080 41F0 breq .L16 |
258 .L17: |
259 .stabn 68,0,595,.LM21-UIMgr_flushTxBuffer |
260 .LM21: |
261 0082 DCDF rcall UIMgr_readTxFifo |
262 0084 00D0 rcall UartInt_txByte |
263 .stabn 68,0,593,.LM22-UIMgr_flushTxBuffer |
264 .LM22: |
265 0086 9091 0000 lds r25,UIMgr_txFifoHead |
266 008a 8091 0000 lds r24,UIMgr_txFifoTail |
267 008e 9817 cp r25,r24 |
268 0090 C1F7 brne .L17 |
269 .L16: |
270 0092 0895 ret |
271 /* epilogue: frame size=0 */ |
272 /* epilogue: noreturn */ |
273 /* epilogue end (size=0) */ |
274 /* function UIMgr_flushTxBuffer size 15 (15) */ |
275 .size UIMgr_flushTxBuffer, .-UIMgr_flushTxBuffer |
276 .Lscope3: |
277 .stabs "",36,0,0,.Lscope3-UIMgr_flushTxBuffer |
278 .stabd 78,0,0 |
279 .stabs "UIMgr_txBuffer:F(0,15)",36,0,576,UIMgr_txBuffer |
280 .stabs "pData:P(0,20)",64,0,575,28 |
281 .stabs "length:P(0,11)",64,0,575,24 |
282 .global UIMgr_txBuffer |
283 .type UIMgr_txBuffer, @function |
284 UIMgr_txBuffer: |
285 .stabd 46,0,0 |
286 .stabn 68,0,576,.LM23-UIMgr_txBuffer |
287 .LM23: |
288 /* prologue: frame size=0 */ |
289 0094 0F93 push r16 |
290 0096 1F93 push r17 |
291 0098 CF93 push r28 |
292 009a DF93 push r29 |
293 /* prologue end (size=4) */ |
294 009c EC01 movw r28,r24 |
295 009e 862F mov r24,r22 |
296 .stabn 68,0,577,.LM24-UIMgr_txBuffer |
297 .LM24: |
298 00a0 6150 subi r22,lo8(-(-1)) |
299 00a2 6F3F cpi r22,lo8(-1) |
300 00a4 49F0 breq .L23 |
301 .stabn 68,0,577,.LM25-UIMgr_txBuffer |
302 .LM25: |
303 00a6 162F mov r17,r22 |
304 00a8 861B sub r24,r22 |
305 00aa 082F mov r16,r24 |
306 00ac 0250 subi r16,lo8(-(-2)) |
307 .L22: |
308 .stabn 68,0,579,.LM26-UIMgr_txBuffer |
GAS LISTING /tmp/ccRvT1Qm.s page 18 |
252 /* prologue: frame size=0 */ |
253 /* prologue end (size=0) */ |
254 .stabn 68,0,593,.LM20-.LFBB4 |
255 .LM20: |
256 006e 9091 0000 lds r25,UIMgr_txFifoHead |
257 0072 8091 0000 lds r24,UIMgr_txFifoTail |
258 0076 9817 cp r25,r24 |
259 0078 01F0 breq .L18 |
260 .L19: |
261 .stabn 68,0,595,.LM21-.LFBB4 |
262 .LM21: |
263 007a 00D0 rcall UIMgr_readTxFifo |
264 007c 00D0 rcall UartInt_txByte |
265 .stabn 68,0,593,.LM22-.LFBB4 |
266 .LM22: |
267 007e 9091 0000 lds r25,UIMgr_txFifoHead |
268 0082 8091 0000 lds r24,UIMgr_txFifoTail |
269 0086 9817 cp r25,r24 |
270 0088 01F4 brne .L19 |
271 .L18: |
272 008a 0895 ret |
273 /* epilogue: frame size=0 */ |
274 /* epilogue: noreturn */ |
275 /* epilogue end (size=0) */ |
276 /* function UIMgr_flushTxBuffer size 15 (15) */ |
277 .size UIMgr_flushTxBuffer, .-UIMgr_flushTxBuffer |
278 .Lscope4: |
279 .stabs "",36,0,0,.Lscope4-.LFBB4 |
280 .stabd 78,0,0 |
281 .stabs "UIMgr_txBuffer:F(0,15)",36,0,576,UIMgr_txBuffer |
282 .stabs "pData:P(0,20)",64,0,575,28 |
283 .stabs "length:P(0,11)",64,0,575,22 |
284 .global UIMgr_txBuffer |
285 .type UIMgr_txBuffer, @function |
286 UIMgr_txBuffer: |
287 .stabd 46,0,0 |
288 .stabn 68,0,576,.LM23-.LFBB5 |
289 .LM23: |
290 .LFBB5: |
291 /* prologue: frame size=0 */ |
292 008c 1F93 push r17 |
293 008e CF93 push r28 |
294 0090 DF93 push r29 |
295 /* prologue end (size=3) */ |
296 0092 EC01 movw r28,r24 |
297 .stabn 68,0,577,.LM24-.LFBB5 |
298 .LM24: |
299 0094 162F mov r17,r22 |
300 0096 1150 subi r17,lo8(-(-1)) |
301 0098 1F3F cpi r17,lo8(-1) |
302 009a 01F0 breq .L24 |
303 .L25: |
304 .stabn 68,0,579,.LM25-.LFBB5 |
305 .LM25: |
306 009c 8991 ld r24,Y+ |
307 009e 00D0 rcall UartInt_txByte |
308 .stabn 68,0,577,.LM26-.LFBB5 |
GAS LISTING /tmp/ccs6Vjbf.s page 18 |
|
|
309 .LM26: |
310 00ae 8991 ld r24,Y+ |
311 00b0 00D0 rcall UartInt_txByte |
312 .stabn 68,0,577,.LM27-UIMgr_txBuffer |
313 .LM27: |
314 00b2 1150 subi r17,lo8(-(-1)) |
315 00b4 0117 cp r16,r17 |
316 00b6 D9F7 brne .L22 |
317 .L23: |
318 /* epilogue: frame size=0 */ |
319 00b8 DF91 pop r29 |
320 00ba CF91 pop r28 |
321 00bc 1F91 pop r17 |
322 00be 0F91 pop r16 |
323 00c0 0895 ret |
324 /* epilogue end (size=5) */ |
325 /* function UIMgr_txBuffer size 23 (14) */ |
326 .size UIMgr_txBuffer, .-UIMgr_txBuffer |
327 .Lscope4: |
328 .stabs "",36,0,0,.Lscope4-UIMgr_txBuffer |
329 .stabd 78,0,0 |
330 .stabs "UIMgr_transmitPendingData:F(0,15)",36,0,178,UIMgr_transmitPendingData |
331 .global UIMgr_transmitPendingData |
332 .type UIMgr_transmitPendingData, @function |
333 UIMgr_transmitPendingData: |
334 .stabd 46,0,0 |
335 .stabn 68,0,178,.LM28-UIMgr_transmitPendingData |
336 .LM28: |
337 /* prologue: frame size=0 */ |
338 /* prologue end (size=0) */ |
339 .stabn 68,0,179,.LM29-UIMgr_transmitPendingData |
340 .LM29: |
341 00c2 9091 0000 lds r25,UIMgr_txFifoHead |
342 00c6 8091 0000 lds r24,UIMgr_txFifoTail |
343 00ca 9817 cp r25,r24 |
344 00cc 11F0 breq .L28 |
345 .stabn 68,0,182,.LM30-UIMgr_transmitPendingData |
346 .LM30: |
347 00ce B6DF rcall UIMgr_readTxFifo |
348 00d0 00D0 rcall UartInt_txByte |
349 .L28: |
350 00d2 0895 ret |
351 /* epilogue: frame size=0 */ |
352 /* epilogue: noreturn */ |
353 /* epilogue end (size=0) */ |
354 /* function UIMgr_transmitPendingData size 9 (9) */ |
355 .size UIMgr_transmitPendingData, .-UIMgr_transmitPendingData |
356 .Lscope5: |
357 .stabs "",36,0,0,.Lscope5-UIMgr_transmitPendingData |
358 .stabd 78,0,0 |
359 .stabs "UIMgr_convertTokenToCmd:f(0,15)",36,0,450,UIMgr_convertTokenToCmd |
360 .type UIMgr_convertTokenToCmd, @function |
361 UIMgr_convertTokenToCmd: |
362 .stabd 46,0,0 |
363 .stabn 68,0,450,.LM31-UIMgr_convertTokenToCmd |
310 00a0 1150 subi r17,1 |
311 00a2 00F4 brcc .L25 |
312 .L24: |
313 /* epilogue: frame size=0 */ |
314 00a4 DF91 pop r29 |
315 00a6 CF91 pop r28 |
316 00a8 1F91 pop r17 |
317 00aa 0895 ret |
318 /* epilogue end (size=4) */ |
319 /* function UIMgr_txBuffer size 17 (10) */ |
320 .size UIMgr_txBuffer, .-UIMgr_txBuffer |
321 .Lscope5: |
322 .stabs "",36,0,0,.Lscope5-.LFBB5 |
323 .stabd 78,0,0 |
324 .stabs "UIMgr_transmitPendingData:F(0,15)",36,0,178,UIMgr_transmitPendingData |
325 .global UIMgr_transmitPendingData |
326 .type UIMgr_transmitPendingData, @function |
327 UIMgr_transmitPendingData: |
328 .stabd 46,0,0 |
329 .stabn 68,0,178,.LM27-.LFBB6 |
330 .LM27: |
331 .LFBB6: |
332 /* prologue: frame size=0 */ |
333 /* prologue end (size=0) */ |
334 .stabn 68,0,179,.LM28-.LFBB6 |
335 .LM28: |
336 00ac 9091 0000 lds r25,UIMgr_txFifoHead |
337 00b0 8091 0000 lds r24,UIMgr_txFifoTail |
338 00b4 9817 cp r25,r24 |
339 00b6 01F0 breq .L30 |
340 .stabn 68,0,182,.LM29-.LFBB6 |
341 .LM29: |
342 00b8 00D0 rcall UIMgr_readTxFifo |
343 00ba 00D0 rcall UartInt_txByte |
344 .L30: |
345 00bc 0895 ret |
346 /* epilogue: frame size=0 */ |
347 /* epilogue: noreturn */ |
348 /* epilogue end (size=0) */ |
349 /* function UIMgr_transmitPendingData size 9 (9) */ |
350 .size UIMgr_transmitPendingData, .-UIMgr_transmitPendingData |
351 .Lscope6: |
352 .stabs "",36,0,0,.Lscope6-.LFBB6 |
353 .stabd 78,0,0 |
354 .stabs "UIMgr_convertTokenToCmd:f(0,15)",36,0,450,UIMgr_convertTokenToCmd |
355 .type UIMgr_convertTokenToCmd, @function |
356 UIMgr_convertTokenToCmd: |
357 .stabd 46,0,0 |
358 .stabn 68,0,450,.LM30-.LFBB7 |
359 .LM30: |
360 .LFBB7: |
361 /* prologue: frame size=0 */ |
362 /* prologue end (size=0) */ |
363 .stabn 68,0,451,.LM31-.LFBB7 |
364 .LM31: |
365 /* prologue: frame size=0 */ |
GAS LISTING /tmp/ccRvT1Qm.s page 19 |
365 00be 9091 0000 lds r25,asciiTokenBuffer |
GAS LISTING /tmp/ccs6Vjbf.s page 19 |
|
|
366 /* prologue end (size=0) */ |
367 .stabn 68,0,451,.LM32-UIMgr_convertTokenToCmd |
368 .LM32: |
369 00d4 9091 0000 lds r25,asciiTokenBuffer |
370 00d8 9035 cpi r25,lo8(80) |
371 00da 41F4 brne .L30 |
372 .stabn 68,0,451,.LM33-UIMgr_convertTokenToCmd |
373 .LM33: |
374 00dc 8091 0000 lds r24,asciiTokenBuffer+1 |
375 00e0 8734 cpi r24,lo8(71) |
376 00e2 09F5 brne .L32 |
377 .stabn 68,0,456,.LM34-UIMgr_convertTokenToCmd |
378 .LM34: |
379 00e4 81E0 ldi r24,lo8(1) |
380 00e6 8093 0000 sts receivedCmd,r24 |
381 00ea 48C0 rjmp .L34 |
382 .L30: |
383 .stabn 68,0,458,.LM35-UIMgr_convertTokenToCmd |
384 .LM35: |
385 00ec 9734 cpi r25,lo8(71) |
386 00ee 39F4 brne .L35 |
387 00f0 8091 0000 lds r24,asciiTokenBuffer+1 |
388 00f4 8635 cpi r24,lo8(86) |
389 00f6 09F5 brne .L37 |
390 .stabn 68,0,462,.LM36-UIMgr_convertTokenToCmd |
391 .LM36: |
392 00f8 1092 0000 sts receivedCmd,__zero_reg__ |
393 00fc 3FC0 rjmp .L34 |
394 .L35: |
395 .stabn 68,0,464,.LM37-UIMgr_convertTokenToCmd |
396 .LM37: |
397 00fe 9434 cpi r25,lo8(68) |
398 0100 41F4 brne .L39 |
399 0102 8091 0000 lds r24,asciiTokenBuffer+1 |
400 0106 8634 cpi r24,lo8(70) |
401 0108 11F5 brne .L41 |
402 .stabn 68,0,468,.LM38-UIMgr_convertTokenToCmd |
403 .LM38: |
404 010a 83E0 ldi r24,lo8(3) |
405 010c 8093 0000 sts receivedCmd,r24 |
406 0110 35C0 rjmp .L34 |
407 .L39: |
408 .stabn 68,0,470,.LM39-UIMgr_convertTokenToCmd |
409 .LM39: |
410 0112 9334 cpi r25,lo8(67) |
411 0114 41F4 brne .L32 |
412 0116 8091 0000 lds r24,asciiTokenBuffer+1 |
413 011a 8235 cpi r24,lo8(82) |
414 011c 11F5 brne .L44 |
415 .stabn 68,0,474,.LM40-UIMgr_convertTokenToCmd |
416 .LM40: |
417 011e 82E0 ldi r24,lo8(2) |
418 0120 8093 0000 sts receivedCmd,r24 |
419 0124 2BC0 rjmp .L34 |
420 .L32: |
421 .stabn 68,0,476,.LM41-UIMgr_convertTokenToCmd |
422 .LM41: |
GAS LISTING /tmp/ccRvT1Qm.s page 20 |
366 00c2 9035 cpi r25,lo8(80) |
367 00c4 01F4 brne .L32 |
368 .stabn 68,0,451,.LM32-.LFBB7 |
369 .LM32: |
370 00c6 8091 0000 lds r24,asciiTokenBuffer+1 |
371 00ca 8734 cpi r24,lo8(71) |
372 00cc 01F4 brne .L34 |
373 .stabn 68,0,456,.LM33-.LFBB7 |
374 .LM33: |
375 00ce 81E0 ldi r24,lo8(1) |
376 00d0 8093 0000 sts receivedCmd,r24 |
377 00d4 00C0 rjmp .L36 |
378 .L32: |
379 .stabn 68,0,458,.LM34-.LFBB7 |
380 .LM34: |
381 00d6 9734 cpi r25,lo8(71) |
382 00d8 01F4 brne .L37 |
383 00da 8091 0000 lds r24,asciiTokenBuffer+1 |
384 00de 8635 cpi r24,lo8(86) |
385 00e0 01F4 brne .L39 |
386 .stabn 68,0,462,.LM35-.LFBB7 |
387 .LM35: |
388 00e2 1092 0000 sts receivedCmd,__zero_reg__ |
389 00e6 00C0 rjmp .L36 |
390 .L37: |
391 .stabn 68,0,464,.LM36-.LFBB7 |
392 .LM36: |
393 00e8 9434 cpi r25,lo8(68) |
394 00ea 01F4 brne .L41 |
395 00ec 8091 0000 lds r24,asciiTokenBuffer+1 |
396 00f0 8634 cpi r24,lo8(70) |
397 00f2 01F4 brne .L43 |
398 .stabn 68,0,468,.LM37-.LFBB7 |
399 .LM37: |
400 00f4 83E0 ldi r24,lo8(3) |
401 00f6 8093 0000 sts receivedCmd,r24 |
402 00fa 00C0 rjmp .L36 |
403 .L41: |
404 .stabn 68,0,470,.LM38-.LFBB7 |
405 .LM38: |
406 00fc 9334 cpi r25,lo8(67) |
407 00fe 01F4 brne .L34 |
408 0100 8091 0000 lds r24,asciiTokenBuffer+1 |
409 0104 8235 cpi r24,lo8(82) |
410 0106 01F4 brne .L46 |
411 .stabn 68,0,474,.LM39-.LFBB7 |
412 .LM39: |
413 0108 82E0 ldi r24,lo8(2) |
414 010a 8093 0000 sts receivedCmd,r24 |
415 010e 00C0 rjmp .L36 |
416 .L34: |
417 .stabn 68,0,476,.LM40-.LFBB7 |
418 .LM40: |
419 0110 9534 cpi r25,lo8(69) |
420 0112 01F4 brne .L39 |
421 0114 8091 0000 lds r24,asciiTokenBuffer+1 |
422 0118 8435 cpi r24,lo8(84) |
GAS LISTING /tmp/ccs6Vjbf.s page 20 |
|
|
423 0126 9534 cpi r25,lo8(69) |
424 0128 41F4 brne .L37 |
425 012a 8091 0000 lds r24,asciiTokenBuffer+1 |
426 012e 8435 cpi r24,lo8(84) |
427 0130 11F5 brne .L47 |
428 .stabn 68,0,480,.LM42-UIMgr_convertTokenToCmd |
429 .LM42: |
430 0132 84E0 ldi r24,lo8(4) |
431 0134 8093 0000 sts receivedCmd,r24 |
432 0138 21C0 rjmp .L34 |
433 .L37: |
434 .stabn 68,0,482,.LM43-UIMgr_convertTokenToCmd |
435 .LM43: |
436 013a 9335 cpi r25,lo8(83) |
437 013c 41F4 brne .L41 |
438 013e 8091 0000 lds r24,asciiTokenBuffer+1 |
439 0142 8D34 cpi r24,lo8(77) |
440 0144 C1F4 brne .L47 |
441 .stabn 68,0,486,.LM44-UIMgr_convertTokenToCmd |
442 .LM44: |
443 0146 86E0 ldi r24,lo8(6) |
444 0148 8093 0000 sts receivedCmd,r24 |
445 014c 17C0 rjmp .L34 |
446 .L41: |
447 .stabn 68,0,488,.LM45-UIMgr_convertTokenToCmd |
448 .LM45: |
449 014e 9434 cpi r25,lo8(68) |
450 0150 41F4 brne .L44 |
451 0152 8091 0000 lds r24,asciiTokenBuffer+1 |
452 0156 8435 cpi r24,lo8(84) |
453 0158 71F4 brne .L47 |
454 .stabn 68,0,491,.LM46-UIMgr_convertTokenToCmd |
455 .LM46: |
456 015a 85E0 ldi r24,lo8(5) |
457 015c 8093 0000 sts receivedCmd,r24 |
458 0160 0DC0 rjmp .L34 |
459 .L44: |
460 .stabn 68,0,493,.LM47-UIMgr_convertTokenToCmd |
461 .LM47: |
462 0162 9235 cpi r25,lo8(82) |
463 0164 41F4 brne .L47 |
464 0166 8091 0000 lds r24,asciiTokenBuffer+1 |
465 016a 8335 cpi r24,lo8(83) |
466 016c 21F4 brne .L47 |
467 .stabn 68,0,496,.LM48-UIMgr_convertTokenToCmd |
468 .LM48: |
469 016e 87E0 ldi r24,lo8(7) |
470 0170 8093 0000 sts receivedCmd,r24 |
471 0174 03C0 rjmp .L34 |
472 .L47: |
473 .stabn 68,0,501,.LM49-UIMgr_convertTokenToCmd |
474 .LM49: |
475 0176 89E0 ldi r24,lo8(9) |
476 0178 8093 0000 sts receivedCmd,r24 |
477 .L34: |
478 .stabn 68,0,503,.LM50-UIMgr_convertTokenToCmd |
479 .LM50: |
GAS LISTING /tmp/ccRvT1Qm.s page 21 |
423 011a 01F4 brne .L49 |
424 .stabn 68,0,480,.LM41-.LFBB7 |
425 .LM41: |
426 011c 84E0 ldi r24,lo8(4) |
427 011e 8093 0000 sts receivedCmd,r24 |
428 0122 00C0 rjmp .L36 |
429 .L39: |
430 .stabn 68,0,482,.LM42-.LFBB7 |
431 .LM42: |
432 0124 9335 cpi r25,lo8(83) |
433 0126 01F4 brne .L43 |
434 0128 8091 0000 lds r24,asciiTokenBuffer+1 |
435 012c 8D34 cpi r24,lo8(77) |
436 012e 01F4 brne .L49 |
437 .stabn 68,0,486,.LM43-.LFBB7 |
438 .LM43: |
439 0130 86E0 ldi r24,lo8(6) |
440 0132 8093 0000 sts receivedCmd,r24 |
441 0136 00C0 rjmp .L36 |
442 .L43: |
443 .stabn 68,0,488,.LM44-.LFBB7 |
444 .LM44: |
445 0138 9434 cpi r25,lo8(68) |
446 013a 01F4 brne .L46 |
447 013c 8091 0000 lds r24,asciiTokenBuffer+1 |
448 0140 8435 cpi r24,lo8(84) |
449 0142 01F4 brne .L49 |
450 .stabn 68,0,491,.LM45-.LFBB7 |
451 .LM45: |
452 0144 85E0 ldi r24,lo8(5) |
453 0146 8093 0000 sts receivedCmd,r24 |
454 014a 00C0 rjmp .L36 |
455 .L46: |
456 .stabn 68,0,493,.LM46-.LFBB7 |
457 .LM46: |
458 014c 9235 cpi r25,lo8(82) |
459 014e 01F4 brne .L49 |
460 0150 8091 0000 lds r24,asciiTokenBuffer+1 |
461 0154 8335 cpi r24,lo8(83) |
462 0156 01F4 brne .L49 |
463 .stabn 68,0,496,.LM47-.LFBB7 |
464 .LM47: |
465 0158 87E0 ldi r24,lo8(7) |
466 015a 8093 0000 sts receivedCmd,r24 |
467 015e 00C0 rjmp .L36 |
468 .L49: |
469 .stabn 68,0,501,.LM48-.LFBB7 |
470 .LM48: |
471 0160 89E0 ldi r24,lo8(9) |
472 0162 8093 0000 sts receivedCmd,r24 |
473 .L36: |
474 .stabn 68,0,503,.LM49-.LFBB7 |
475 .LM49: |
476 0166 83E0 ldi r24,lo8(3) |
477 0168 E0E0 ldi r30,lo8(asciiTokenBuffer) |
478 016a F0E0 ldi r31,hi8(asciiTokenBuffer) |
479 016c 1192 st Z+,__zero_reg__ |
GAS LISTING /tmp/ccs6Vjbf.s page 21 |
|
|
480 017c 83E0 ldi r24,lo8(3) |
481 017e E0E0 ldi r30,lo8(asciiTokenBuffer) |
482 0180 F0E0 ldi r31,hi8(asciiTokenBuffer) |
483 0182 1192 st Z+,__zero_reg__ |
484 0184 8A95 dec r24 |
485 0186 E9F7 brne .-6 |
486 .stabn 68,0,504,.LM51-UIMgr_convertTokenToCmd |
487 .LM51: |
488 0188 1092 0000 sts charIndex,__zero_reg__ |
489 .stabn 68,0,505,.LM52-UIMgr_convertTokenToCmd |
490 .LM52: |
491 018c 1092 0000 sts charCount,__zero_reg__ |
492 /* epilogue: frame size=0 */ |
493 0190 0895 ret |
494 /* epilogue end (size=1) */ |
495 /* function UIMgr_convertTokenToCmd size 95 (94) */ |
496 .size UIMgr_convertTokenToCmd, .-UIMgr_convertTokenToCmd |
497 .Lscope6: |
498 .stabs "",36,0,0,.Lscope6-UIMgr_convertTokenToCmd |
499 .stabd 78,0,0 |
500 .stabs "UIMgr_init:F(0,15)",36,0,137,UIMgr_init |
501 .global UIMgr_init |
502 .type UIMgr_init, @function |
503 UIMgr_init: |
504 .stabd 46,0,0 |
505 .stabn 68,0,137,.LM53-UIMgr_init |
506 .LM53: |
507 /* prologue: frame size=0 */ |
508 /* prologue end (size=0) */ |
509 .stabn 68,0,138,.LM54-UIMgr_init |
510 .LM54: |
511 0192 1092 0000 sts asciiTokenBuffer,__zero_reg__ |
512 0196 1092 0000 sts (asciiTokenBuffer)+1,__zero_reg__ |
513 019a 1092 0000 sts (asciiTokenBuffer)+2,__zero_reg__ |
514 019e 1092 0000 sts (asciiTokenBuffer)+3,__zero_reg__ |
515 .stabn 68,0,139,.LM55-UIMgr_init |
516 .LM55: |
517 01a2 80E4 ldi r24,lo8(64) |
518 01a4 E0E0 ldi r30,lo8(tokenBuffer) |
519 01a6 F0E0 ldi r31,hi8(tokenBuffer) |
520 01a8 982F mov r25,r24 |
521 01aa 1192 st Z+,__zero_reg__ |
522 01ac 9A95 dec r25 |
523 01ae E9F7 brne .-6 |
524 .stabn 68,0,140,.LM56-UIMgr_init |
525 .LM56: |
526 01b0 E0E0 ldi r30,lo8(UIMgr_txFifo) |
527 01b2 F0E0 ldi r31,hi8(UIMgr_txFifo) |
528 01b4 1192 st Z+,__zero_reg__ |
529 01b6 8A95 dec r24 |
530 01b8 E9F7 brne .-6 |
531 .stabn 68,0,141,.LM57-UIMgr_init |
532 .LM57: |
533 01ba 80E2 ldi r24,lo8(32) |
534 01bc E0E0 ldi r30,lo8(UIMgr_rxFifo) |
535 01be F0E0 ldi r31,hi8(UIMgr_rxFifo) |
536 01c0 1192 st Z+,__zero_reg__ |
GAS LISTING /tmp/ccRvT1Qm.s page 22 |
480 016e 8A95 dec r24 |
481 0170 01F4 brne .-6 |
482 .stabn 68,0,504,.LM50-.LFBB7 |
483 .LM50: |
484 0172 1092 0000 sts charIndex,__zero_reg__ |
485 .stabn 68,0,505,.LM51-.LFBB7 |
486 .LM51: |
487 0176 1092 0000 sts charCount,__zero_reg__ |
488 /* epilogue: frame size=0 */ |
489 017a 0895 ret |
490 /* epilogue end (size=1) */ |
491 /* function UIMgr_convertTokenToCmd size 95 (94) */ |
492 .size UIMgr_convertTokenToCmd, .-UIMgr_convertTokenToCmd |
493 .Lscope7: |
494 .stabs "",36,0,0,.Lscope7-.LFBB7 |
495 .stabd 78,0,0 |
496 .stabs "UIMgr_init:F(0,15)",36,0,137,UIMgr_init |
497 .global UIMgr_init |
498 .type UIMgr_init, @function |
499 UIMgr_init: |
500 .stabd 46,0,0 |
501 .stabn 68,0,137,.LM52-.LFBB8 |
502 .LM52: |
503 .LFBB8: |
504 /* prologue: frame size=0 */ |
505 /* prologue end (size=0) */ |
506 .stabn 68,0,138,.LM53-.LFBB8 |
507 .LM53: |
508 017c 1092 0000 sts asciiTokenBuffer,__zero_reg__ |
509 0180 1092 0000 sts (asciiTokenBuffer)+1,__zero_reg__ |
510 0184 1092 0000 sts (asciiTokenBuffer)+2,__zero_reg__ |
511 0188 1092 0000 sts (asciiTokenBuffer)+3,__zero_reg__ |
512 .stabn 68,0,139,.LM54-.LFBB8 |
513 .LM54: |
514 018c 80E4 ldi r24,lo8(64) |
515 018e E0E0 ldi r30,lo8(tokenBuffer) |
516 0190 F0E0 ldi r31,hi8(tokenBuffer) |
517 0192 982F mov r25,r24 |
518 0194 1192 st Z+,__zero_reg__ |
519 0196 9A95 dec r25 |
520 0198 01F4 brne .-6 |
521 .stabn 68,0,140,.LM55-.LFBB8 |
522 .LM55: |
523 019a E0E0 ldi r30,lo8(UIMgr_txFifo) |
524 019c F0E0 ldi r31,hi8(UIMgr_txFifo) |
525 019e 1192 st Z+,__zero_reg__ |
526 01a0 8A95 dec r24 |
527 01a2 01F4 brne .-6 |
528 .stabn 68,0,141,.LM56-.LFBB8 |
529 .LM56: |
530 01a4 80E2 ldi r24,lo8(32) |
531 01a6 E0E0 ldi r30,lo8(UIMgr_rxFifo) |
532 01a8 F0E0 ldi r31,hi8(UIMgr_rxFifo) |
533 01aa 1192 st Z+,__zero_reg__ |
534 01ac 8A95 dec r24 |
535 01ae 01F4 brne .-6 |
536 /* epilogue: frame size=0 */ |
GAS LISTING /tmp/ccs6Vjbf.s page 22 |
|
|
537 01c2 8A95 dec r24 |
538 01c4 E9F7 brne .-6 |
539 /* epilogue: frame size=0 */ |
540 01c6 0895 ret |
541 /* epilogue end (size=1) */ |
542 /* function UIMgr_init size 27 (26) */ |
543 .size UIMgr_init, .-UIMgr_init |
544 .Lscope7: |
545 .stabs "",36,0,0,.Lscope7-UIMgr_init |
546 .stabd 78,0,0 |
547 .stabs "UIMgr_convertTokenToValue:f(0,15)",36,0,422,UIMgr_convertTokenToValue |
548 .type UIMgr_convertTokenToValue, @function |
549 UIMgr_convertTokenToValue: |
550 .stabd 46,0,0 |
551 .stabn 68,0,422,.LM58-UIMgr_convertTokenToValue |
552 .LM58: |
553 /* prologue: frame size=0 */ |
554 /* prologue end (size=0) */ |
555 .stabn 68,0,425,.LM59-UIMgr_convertTokenToValue |
556 .LM59: |
557 01c8 80E0 ldi r24,lo8(asciiTokenBuffer) |
558 01ca 90E0 ldi r25,hi8(asciiTokenBuffer) |
559 01cc 00D0 rcall atoi |
560 01ce 9C01 movw r18,r24 |
561 .stabn 68,0,426,.LM60-UIMgr_convertTokenToValue |
562 .LM60: |
563 01d0 8F3F cpi r24,255 |
564 01d2 9105 cpc r25,__zero_reg__ |
565 01d4 69F0 breq .L59 |
566 01d6 60F0 brlo .L59 |
567 .stabn 68,0,429,.LM61-UIMgr_convertTokenToValue |
568 .LM61: |
569 01d8 89E0 ldi r24,lo8(9) |
570 01da 8093 0000 sts receivedCmd,r24 |
571 .stabn 68,0,430,.LM62-UIMgr_convertTokenToValue |
572 .LM62: |
573 01de 8091 0000 lds r24,tokenCount |
574 01e2 E0E0 ldi r30,lo8(tokenBuffer) |
575 01e4 F0E0 ldi r31,hi8(tokenBuffer) |
576 01e6 E80F add r30,r24 |
577 01e8 F11D adc r31,__zero_reg__ |
578 01ea 8FEF ldi r24,lo8(-1) |
579 01ec 8083 st Z,r24 |
580 01ee 07C0 rjmp .L61 |
581 .L59: |
582 .stabn 68,0,435,.LM63-UIMgr_convertTokenToValue |
583 .LM63: |
584 01f0 8091 0000 lds r24,tokenCount |
585 01f4 E0E0 ldi r30,lo8(tokenBuffer) |
586 01f6 F0E0 ldi r31,hi8(tokenBuffer) |
587 01f8 E80F add r30,r24 |
588 01fa F11D adc r31,__zero_reg__ |
589 01fc 2083 st Z,r18 |
590 .L61: |
591 .stabn 68,0,437,.LM64-UIMgr_convertTokenToValue |
592 .LM64: |
593 01fe 83E0 ldi r24,lo8(3) |
GAS LISTING /tmp/ccRvT1Qm.s page 23 |
537 01b0 0895 ret |
538 /* epilogue end (size=1) */ |
539 /* function UIMgr_init size 27 (26) */ |
540 .size UIMgr_init, .-UIMgr_init |
541 .Lscope8: |
542 .stabs "",36,0,0,.Lscope8-.LFBB8 |
543 .stabd 78,0,0 |
544 .stabs "UIMgr_convertTokenToValue:f(0,15)",36,0,422,UIMgr_convertTokenToValue |
545 .type UIMgr_convertTokenToValue, @function |
546 UIMgr_convertTokenToValue: |
547 .stabd 46,0,0 |
548 .stabn 68,0,422,.LM57-.LFBB9 |
549 .LM57: |
550 .LFBB9: |
551 /* prologue: frame size=0 */ |
552 /* prologue end (size=0) */ |
553 .stabn 68,0,425,.LM58-.LFBB9 |
554 .LM58: |
555 01b2 80E0 ldi r24,lo8(asciiTokenBuffer) |
556 01b4 90E0 ldi r25,hi8(asciiTokenBuffer) |
557 01b6 00D0 rcall atoi |
558 01b8 9C01 movw r18,r24 |
559 .stabn 68,0,426,.LM59-.LFBB9 |
560 .LM59: |
561 01ba 8F3F cpi r24,255 |
562 01bc 9105 cpc r25,__zero_reg__ |
563 01be 01F0 breq .L61 |
564 01c0 00F0 brlo .L61 |
565 .stabn 68,0,429,.LM60-.LFBB9 |
566 .LM60: |
567 01c2 89E0 ldi r24,lo8(9) |
568 01c4 8093 0000 sts receivedCmd,r24 |
569 .stabn 68,0,430,.LM61-.LFBB9 |
570 .LM61: |
571 01c8 8091 0000 lds r24,tokenCount |
572 01cc E0E0 ldi r30,lo8(tokenBuffer) |
573 01ce F0E0 ldi r31,hi8(tokenBuffer) |
574 01d0 E80F add r30,r24 |
575 01d2 F11D adc r31,__zero_reg__ |
576 01d4 8FEF ldi r24,lo8(-1) |
577 01d6 8083 st Z,r24 |
578 01d8 00C0 rjmp .L63 |
579 .L61: |
580 .stabn 68,0,435,.LM62-.LFBB9 |
581 .LM62: |
582 01da 8091 0000 lds r24,tokenCount |
583 01de E0E0 ldi r30,lo8(tokenBuffer) |
584 01e0 F0E0 ldi r31,hi8(tokenBuffer) |
585 01e2 E80F add r30,r24 |
586 01e4 F11D adc r31,__zero_reg__ |
587 01e6 2083 st Z,r18 |
588 .L63: |
589 .stabn 68,0,437,.LM63-.LFBB9 |
590 .LM63: |
591 01e8 83E0 ldi r24,lo8(3) |
592 01ea E0E0 ldi r30,lo8(asciiTokenBuffer) |
593 01ec F0E0 ldi r31,hi8(asciiTokenBuffer) |
GAS LISTING /tmp/ccs6Vjbf.s page 23 |
|
|
594 0200 E0E0 ldi r30,lo8(asciiTokenBuffer) |
595 0202 F0E0 ldi r31,hi8(asciiTokenBuffer) |
596 0204 1192 st Z+,__zero_reg__ |
597 0206 8A95 dec r24 |
598 0208 E9F7 brne .-6 |
599 .stabn 68,0,438,.LM65-UIMgr_convertTokenToValue |
600 .LM65: |
601 020a 1092 0000 sts charIndex,__zero_reg__ |
602 .stabn 68,0,439,.LM66-UIMgr_convertTokenToValue |
603 .LM66: |
604 020e 1092 0000 sts charCount,__zero_reg__ |
605 /* epilogue: frame size=0 */ |
606 0212 0895 ret |
607 /* epilogue end (size=1) */ |
608 /* function UIMgr_convertTokenToValue size 38 (37) */ |
609 .size UIMgr_convertTokenToValue, .-UIMgr_convertTokenToValue |
610 .stabs "newValue:r(0,4)",64,0,423,18 |
611 .stabn 192,0,0,UIMgr_convertTokenToValue-UIMgr_convertTokenToValue |
612 .stabn 224,0,0,.Lscope8-UIMgr_convertTokenToValue |
613 .Lscope8: |
614 .stabs "",36,0,0,.Lscope8-UIMgr_convertTokenToValue |
615 .stabd 78,0,0 |
616 .stabs "UIMgr_processReceivedData:F(0,15)",36,0,193,UIMgr_processReceivedData |
617 .global UIMgr_processReceivedData |
618 .type UIMgr_processReceivedData, @function |
619 UIMgr_processReceivedData: |
620 .stabd 46,0,0 |
621 .stabn 68,0,193,.LM67-UIMgr_processReceivedData |
622 .LM67: |
623 /* prologue: frame size=0 */ |
624 0214 FF92 push r15 |
625 0216 0F93 push r16 |
626 0218 1F93 push r17 |
627 021a CF93 push r28 |
628 021c DF93 push r29 |
629 /* prologue end (size=5) */ |
630 021e 0F2E mov __tmp_reg__,r31 |
631 0220 F9E0 ldi r31,lo8(9) |
632 0222 FF2E mov r15,r31 |
633 0224 F02D mov r31,__tmp_reg__ |
634 0226 FFC0 rjmp .L119 |
635 .L65: |
636 .LBB22: |
637 .LBB23: |
638 .stabn 68,0,612,.LM68-UIMgr_processReceivedData |
639 .LM68: |
640 /* #APP */ |
641 0228 F894 cli |
642 .stabn 68,0,613,.LM69-UIMgr_processReceivedData |
643 .LM69: |
644 /* #NOAPP */ |
645 022a E22F mov r30,r18 |
646 022c FF27 clr r31 |
647 022e E050 subi r30,lo8(-(UIMgr_rxFifo)) |
648 0230 F040 sbci r31,hi8(-(UIMgr_rxFifo)) |
649 0232 9081 ld r25,Z |
650 .stabn 68,0,615,.LM70-UIMgr_processReceivedData |
GAS LISTING /tmp/ccRvT1Qm.s page 24 |
594 01ee 1192 st Z+,__zero_reg__ |
595 01f0 8A95 dec r24 |
596 01f2 01F4 brne .-6 |
597 .stabn 68,0,438,.LM64-.LFBB9 |
598 .LM64: |
599 01f4 1092 0000 sts charIndex,__zero_reg__ |
600 .stabn 68,0,439,.LM65-.LFBB9 |
601 .LM65: |
602 01f8 1092 0000 sts charCount,__zero_reg__ |
603 /* epilogue: frame size=0 */ |
604 01fc 0895 ret |
605 /* epilogue end (size=1) */ |
606 /* function UIMgr_convertTokenToValue size 38 (37) */ |
607 .size UIMgr_convertTokenToValue, .-UIMgr_convertTokenToValue |
608 .stabs "newValue:r(0,4)",64,0,423,18 |
609 .stabn 192,0,0,.LFBB9-.LFBB9 |
610 .stabn 224,0,0,.Lscope9-.LFBB9 |
611 .Lscope9: |
612 .stabs "",36,0,0,.Lscope9-.LFBB9 |
613 .stabd 78,0,0 |
614 .stabs "UIMgr_processReceivedData:F(0,15)",36,0,193,UIMgr_processReceivedData |
615 .global UIMgr_processReceivedData |
616 .type UIMgr_processReceivedData, @function |
617 UIMgr_processReceivedData: |
618 .stabd 46,0,0 |
619 .stabn 68,0,193,.LM66-.LFBB10 |
620 .LM66: |
621 .LFBB10: |
622 /* prologue: frame size=0 */ |
623 01fe 6F92 push r6 |
624 0200 7F92 push r7 |
625 0202 8F92 push r8 |
626 0204 9F92 push r9 |
627 0206 AF92 push r10 |
628 0208 BF92 push r11 |
629 020a CF92 push r12 |
630 020c DF92 push r13 |
631 020e EF92 push r14 |
632 0210 FF92 push r15 |
633 0212 1F93 push r17 |
634 0214 CF93 push r28 |
635 0216 DF93 push r29 |
636 /* prologue end (size=13) */ |
637 .LBB22: |
638 .LBB23: |
639 .stabn 68,0,613,.LM67-.LFBB10 |
640 .LM67: |
641 0218 0F2E mov __tmp_reg__,r31 |
642 021a F0E0 ldi r31,lo8(UIMgr_rxFifo) |
643 021c CF2E mov r12,r31 |
644 021e F0E0 ldi r31,hi8(UIMgr_rxFifo) |
645 0220 DF2E mov r13,r31 |
646 0222 F02D mov r31,__tmp_reg__ |
647 .LBE23: |
648 .LBE22: |
649 .stabn 68,0,276,.LM68-.LFBB10 |
650 .LM68: |
GAS LISTING /tmp/ccs6Vjbf.s page 24 |
|
|
651 .LM70: |
652 0234 822F mov r24,r18 |
653 0236 8F5F subi r24,lo8(-(1)) |
654 0238 8F71 andi r24,lo8(31) |
655 023a 8093 0000 sts UIMgr_rxFifoTail,r24 |
656 .stabn 68,0,616,.LM71-UIMgr_processReceivedData |
657 .LM71: |
658 /* #APP */ |
659 023e 7894 sei |
660 /* #NOAPP */ |
661 .LBE23: |
662 .LBE22: |
663 .stabn 68,0,202,.LM72-UIMgr_processReceivedData |
664 .LM72: |
665 0240 9D30 cpi r25,lo8(13) |
666 0242 09F0 breq .+2 |
667 0244 B1C0 rjmp .L66 |
668 .stabn 68,0,205,.LM73-UIMgr_processReceivedData |
669 .LM73: |
670 0246 8091 0000 lds r24,tokenCount |
671 024a 8823 tst r24 |
672 024c 11F4 brne .L68 |
673 .stabn 68,0,208,.LM74-UIMgr_processReceivedData |
674 .LM74: |
675 024e 42DF rcall UIMgr_convertTokenToCmd |
676 0250 06C0 rjmp .L70 |
677 .L68: |
678 .stabn 68,0,213,.LM75-UIMgr_processReceivedData |
679 .LM75: |
680 0252 BADF rcall UIMgr_convertTokenToValue |
681 .stabn 68,0,214,.LM76-UIMgr_processReceivedData |
682 .LM76: |
683 0254 8091 0000 lds r24,tokenCount |
684 0258 8F5F subi r24,lo8(-(1)) |
685 025a 8093 0000 sts tokenCount,r24 |
686 .L70: |
687 .stabn 68,0,218,.LM77-UIMgr_processReceivedData |
688 .LM77: |
689 025e 84E6 ldi r24,lo8(100) |
690 0260 90E0 ldi r25,hi8(100) |
691 0262 00D0 rcall Utility_delay |
692 .stabn 68,0,219,.LM78-UIMgr_processReceivedData |
693 .LM78: |
694 0264 8091 0000 lds r24,receivedCmd |
695 0268 8850 subi r24,lo8(-(-8)) |
696 026a 8230 cpi r24,lo8(2) |
697 026c 58F4 brsh .L71 |
698 .LBB24: |
699 .LBB25: |
700 .stabn 68,0,531,.LM79-UIMgr_processReceivedData |
701 .LM79: |
702 026e 8EE4 ldi r24,lo8(78) |
703 0270 F4DE rcall UIMgr_writeTxFifo |
704 .stabn 68,0,532,.LM80-UIMgr_processReceivedData |
705 .LM80: |
706 0272 83E4 ldi r24,lo8(67) |
707 0274 F2DE rcall UIMgr_writeTxFifo |
GAS LISTING /tmp/ccRvT1Qm.s page 25 |
651 0224 0F2E mov __tmp_reg__,r31 |
652 0226 F0E0 ldi r31,lo8(asciiTokenBuffer) |
653 0228 AF2E mov r10,r31 |
654 022a F0E0 ldi r31,hi8(asciiTokenBuffer) |
655 022c BF2E mov r11,r31 |
656 022e F02D mov r31,__tmp_reg__ |
657 .stabn 68,0,236,.LM69-.LFBB10 |
658 .LM69: |
659 0230 0F2E mov __tmp_reg__,r31 |
660 0232 F0E0 ldi r31,lo8(tokenBuffer) |
661 0234 EF2E mov r14,r31 |
662 0236 F0E0 ldi r31,hi8(tokenBuffer) |
663 0238 FF2E mov r15,r31 |
664 023a F02D mov r31,__tmp_reg__ |
665 .LBB25: |
666 .LBB26: |
667 .stabn 68,0,369,.LM70-.LFBB10 |
668 .LM70: |
669 023c 0F2E mov __tmp_reg__,r31 |
670 023e F0E0 ldi r31,lo8(colorMap) |
671 0240 8F2E mov r8,r31 |
672 0242 F0E0 ldi r31,hi8(colorMap) |
673 0244 9F2E mov r9,r31 |
674 0246 F02D mov r31,__tmp_reg__ |
675 .stabn 68,0,322,.LM71-.LFBB10 |
676 .LM71: |
677 0248 0F2E mov __tmp_reg__,r31 |
678 024a F0E0 ldi r31,lo8(AVRcamVersion) |
679 024c 6F2E mov r6,r31 |
680 024e F0E0 ldi r31,hi8(AVRcamVersion) |
681 0250 7F2E mov r7,r31 |
682 0252 F02D mov r31,__tmp_reg__ |
683 0254 00C0 rjmp .L119 |
684 .L67: |
685 .LBE26: |
686 .LBE25: |
687 .LBB42: |
688 .LBB24: |
689 .stabn 68,0,612,.LM72-.LFBB10 |
690 .LM72: |
691 /* #APP */ |
692 0256 F894 cli |
693 .stabn 68,0,613,.LM73-.LFBB10 |
694 .LM73: |
695 /* #NOAPP */ |
696 0258 F601 movw r30,r12 |
697 025a E90F add r30,r25 |
698 025c F11D adc r31,__zero_reg__ |
699 025e 2081 ld r18,Z |
700 .stabn 68,0,615,.LM74-.LFBB10 |
701 .LM74: |
702 0260 892F mov r24,r25 |
703 0262 8F5F subi r24,lo8(-(1)) |
704 0264 8F71 andi r24,lo8(31) |
705 0266 8093 0000 sts UIMgr_rxFifoTail,r24 |
706 .stabn 68,0,616,.LM75-.LFBB10 |
707 .LM75: |
GAS LISTING /tmp/ccs6Vjbf.s page 25 |
|
|
708 .stabn 68,0,533,.LM81-UIMgr_processReceivedData |
709 .LM81: |
710 0276 8BE4 ldi r24,lo8(75) |
711 0278 F0DE rcall UIMgr_writeTxFifo |
712 .stabn 68,0,534,.LM82-UIMgr_processReceivedData |
713 .LM82: |
714 027a 8DE0 ldi r24,lo8(13) |
715 027c EEDE rcall UIMgr_writeTxFifo |
716 .LBE25: |
717 .LBE24: |
718 .stabn 68,0,223,.LM83-UIMgr_processReceivedData |
719 .LM83: |
720 027e 80E9 ldi r24,lo8(-112) |
721 0280 00D0 rcall Exec_writeEventFifo |
722 0282 89C0 rjmp .L73 |
723 .L71: |
724 .LBB26: |
725 .LBB27: |
726 .stabn 68,0,516,.LM84-UIMgr_processReceivedData |
727 .LM84: |
728 0284 81E4 ldi r24,lo8(65) |
729 0286 E9DE rcall UIMgr_writeTxFifo |
730 .stabn 68,0,517,.LM85-UIMgr_processReceivedData |
731 .LM85: |
732 0288 83E4 ldi r24,lo8(67) |
733 028a E7DE rcall UIMgr_writeTxFifo |
734 .stabn 68,0,518,.LM86-UIMgr_processReceivedData |
735 .LM86: |
736 028c 8BE4 ldi r24,lo8(75) |
737 028e E5DE rcall UIMgr_writeTxFifo |
738 .stabn 68,0,519,.LM87-UIMgr_processReceivedData |
739 .LM87: |
740 0290 8DE0 ldi r24,lo8(13) |
741 0292 E3DE rcall UIMgr_writeTxFifo |
742 .LBE27: |
743 .LBE26: |
744 .stabn 68,0,230,.LM88-UIMgr_processReceivedData |
745 .LM88: |
746 0294 80E9 ldi r24,lo8(-112) |
747 0296 00D0 rcall Exec_writeEventFifo |
748 .LBB28: |
749 .LBB29: |
750 .stabn 68,0,316,.LM89-UIMgr_processReceivedData |
751 .LM89: |
752 0298 8091 0000 lds r24,receivedCmd |
753 029c 8130 cpi r24,lo8(1) |
754 029e 09F4 brne .+2 |
755 02a0 7AC0 rjmp .L73 |
756 .stabn 68,0,319,.LM90-UIMgr_processReceivedData |
757 .LM90: |
758 02a2 8823 tst r24 |
759 02a4 71F4 brne .L75 |
760 .stabn 68,0,322,.LM91-UIMgr_processReceivedData |
761 .LM91: |
762 02a6 8091 0000 lds r24,AVRcamVersion |
763 02aa 8823 tst r24 |
764 02ac 09F4 brne .+2 |
GAS LISTING /tmp/ccRvT1Qm.s page 26 |
708 /* #APP */ |
709 026a 7894 sei |
710 /* #NOAPP */ |
711 .LBE24: |
712 .LBE42: |
713 .stabn 68,0,202,.LM76-.LFBB10 |
714 .LM76: |
715 026c 2D30 cpi r18,lo8(13) |
716 026e 01F0 breq .+2 |
717 0270 00C0 rjmp .L68 |
718 .stabn 68,0,205,.LM77-.LFBB10 |
719 .LM77: |
720 0272 8091 0000 lds r24,tokenCount |
721 0276 8823 tst r24 |
722 0278 01F4 brne .L70 |
723 .stabn 68,0,208,.LM78-.LFBB10 |
724 .LM78: |
725 027a 00D0 rcall UIMgr_convertTokenToCmd |
726 027c 00C0 rjmp .L72 |
727 .L70: |
728 .stabn 68,0,213,.LM79-.LFBB10 |
729 .LM79: |
730 027e 00D0 rcall UIMgr_convertTokenToValue |
731 .stabn 68,0,214,.LM80-.LFBB10 |
732 .LM80: |
733 0280 8091 0000 lds r24,tokenCount |
734 0284 8F5F subi r24,lo8(-(1)) |
735 0286 8093 0000 sts tokenCount,r24 |
736 .L72: |
737 .stabn 68,0,218,.LM81-.LFBB10 |
738 .LM81: |
739 028a 84E6 ldi r24,lo8(100) |
740 028c 90E0 ldi r25,hi8(100) |
741 028e 00D0 rcall Utility_delay |
742 .stabn 68,0,219,.LM82-.LFBB10 |
743 .LM82: |
744 0290 8091 0000 lds r24,receivedCmd |
745 0294 8850 subi r24,lo8(-(-8)) |
746 0296 8230 cpi r24,lo8(2) |
747 0298 00F4 brsh .L73 |
748 .LBB43: |
749 .LBB44: |
750 .stabn 68,0,531,.LM83-.LFBB10 |
751 .LM83: |
752 029a 8EE4 ldi r24,lo8(78) |
753 029c 00D0 rcall UIMgr_writeTxFifo |
754 .stabn 68,0,532,.LM84-.LFBB10 |
755 .LM84: |
756 029e 83E4 ldi r24,lo8(67) |
757 02a0 00D0 rcall UIMgr_writeTxFifo |
758 .stabn 68,0,533,.LM85-.LFBB10 |
759 .LM85: |
760 02a2 8BE4 ldi r24,lo8(75) |
761 02a4 00D0 rcall UIMgr_writeTxFifo |
762 .stabn 68,0,534,.LM86-.LFBB10 |
763 .LM86: |
764 02a6 8DE0 ldi r24,lo8(13) |
GAS LISTING /tmp/ccs6Vjbf.s page 26 |
|
|
765 02ae 73C0 rjmp .L73 |
766 02b0 C0E0 ldi r28,lo8(AVRcamVersion) |
767 02b2 D0E0 ldi r29,hi8(AVRcamVersion) |
768 .L78: |
769 .stabn 68,0,324,.LM92-UIMgr_processReceivedData |
770 .LM92: |
771 02b4 2196 adiw r28,1 |
772 02b6 D1DE rcall UIMgr_writeTxFifo |
773 .stabn 68,0,322,.LM93-UIMgr_processReceivedData |
774 .LM93: |
775 02b8 8881 ld r24,Y |
776 02ba 8823 tst r24 |
777 02bc 09F4 brne .+2 |
778 02be 6BC0 rjmp .L73 |
779 02c0 F9CF rjmp .L78 |
780 .L75: |
781 .stabn 68,0,327,.LM94-UIMgr_processReceivedData |
782 .LM94: |
783 02c2 8730 cpi r24,lo8(7) |
784 02c4 11F4 brne .L79 |
785 .stabn 68,0,329,.LM95-UIMgr_processReceivedData |
786 .LM95: |
787 02c6 00D0 rcall CamInt_resetCam |
788 02c8 66C0 rjmp .L73 |
789 .L79: |
790 .stabn 68,0,331,.LM96-UIMgr_processReceivedData |
791 .LM96: |
792 02ca 8330 cpi r24,lo8(3) |
793 02cc 31F4 brne .L81 |
794 .stabn 68,0,340,.LM97-UIMgr_processReceivedData |
795 .LM97: |
796 02ce 84E6 ldi r24,lo8(100) |
797 02d0 90E0 ldi r25,hi8(100) |
798 02d2 00D0 rcall Utility_delay |
799 .stabn 68,0,341,.LM98-UIMgr_processReceivedData |
800 .LM98: |
801 02d4 82E0 ldi r24,lo8(2) |
802 02d6 00D0 rcall Exec_writeEventFifo |
803 02d8 5EC0 rjmp .L73 |
804 .L81: |
805 .stabn 68,0,343,.LM99-UIMgr_processReceivedData |
806 .LM99: |
807 02da 8230 cpi r24,lo8(2) |
808 02dc 99F4 brne .L83 |
809 .stabn 68,0,347,.LM100-UIMgr_processReceivedData |
810 .LM100: |
811 02de 8091 0000 lds r24,tokenCount |
812 02e2 8230 cpi r24,lo8(2) |
813 02e4 68F0 brlo .L85 |
814 02e6 11E0 ldi r17,lo8(1) |
815 .L87: |
816 .stabn 68,0,350,.LM101-UIMgr_processReceivedData |
817 .LM101: |
818 02e8 E12F mov r30,r17 |
819 02ea FF27 clr r31 |
820 02ec E050 subi r30,lo8(-(tokenBuffer)) |
821 02ee F040 sbci r31,hi8(-(tokenBuffer)) |
GAS LISTING /tmp/ccRvT1Qm.s page 27 |
765 02a8 00D0 rcall UIMgr_writeTxFifo |
766 .LBE44: |
767 .LBE43: |
768 .stabn 68,0,223,.LM87-.LFBB10 |
769 .LM87: |
770 02aa 80E9 ldi r24,lo8(-112) |
771 02ac 00D0 rcall Exec_writeEventFifo |
772 02ae 00C0 rjmp .L75 |
773 .L73: |
774 .LBB45: |
775 .LBB46: |
776 .stabn 68,0,516,.LM88-.LFBB10 |
777 .LM88: |
778 02b0 81E4 ldi r24,lo8(65) |
779 02b2 00D0 rcall UIMgr_writeTxFifo |
780 .stabn 68,0,517,.LM89-.LFBB10 |
781 .LM89: |
782 02b4 83E4 ldi r24,lo8(67) |
783 02b6 00D0 rcall UIMgr_writeTxFifo |
784 .stabn 68,0,518,.LM90-.LFBB10 |
785 .LM90: |
786 02b8 8BE4 ldi r24,lo8(75) |
787 02ba 00D0 rcall UIMgr_writeTxFifo |
788 .stabn 68,0,519,.LM91-.LFBB10 |
789 .LM91: |
790 02bc 8DE0 ldi r24,lo8(13) |
791 02be 00D0 rcall UIMgr_writeTxFifo |
792 .LBE46: |
793 .LBE45: |
794 .stabn 68,0,230,.LM92-.LFBB10 |
795 .LM92: |
796 02c0 80E9 ldi r24,lo8(-112) |
797 02c2 00D0 rcall Exec_writeEventFifo |
798 .LBB47: |
799 .LBB41: |
800 .stabn 68,0,316,.LM93-.LFBB10 |
801 .LM93: |
802 02c4 8091 0000 lds r24,receivedCmd |
803 02c8 8130 cpi r24,lo8(1) |
804 02ca 01F4 brne .+2 |
805 02cc 00C0 rjmp .L75 |
806 .stabn 68,0,319,.LM94-.LFBB10 |
807 .LM94: |
808 02ce 8823 tst r24 |
809 02d0 01F4 brne .L77 |
810 .stabn 68,0,322,.LM95-.LFBB10 |
811 .LM95: |
812 02d2 8091 0000 lds r24,AVRcamVersion |
813 02d6 8823 tst r24 |
814 02d8 01F4 brne .+2 |
815 02da 00C0 rjmp .L75 |
816 02dc E301 movw r28,r6 |
817 .L80: |
818 .stabn 68,0,324,.LM96-.LFBB10 |
819 .LM96: |
820 02de 2196 adiw r28,1 |
821 02e0 00D0 rcall UIMgr_writeTxFifo |
GAS LISTING /tmp/ccs6Vjbf.s page 27 |
|
|
822 02f0 6181 ldd r22,Z+1 |
823 02f2 8081 ld r24,Z |
824 02f4 00D0 rcall CamConfig_setCamReg |
825 .stabn 68,0,347,.LM102-UIMgr_processReceivedData |
826 .LM102: |
827 02f6 1E5F subi r17,lo8(-(2)) |
828 02f8 8091 0000 lds r24,tokenCount |
829 02fc 1817 cp r17,r24 |
830 02fe A0F3 brlo .L87 |
831 .L85: |
832 .stabn 68,0,352,.LM103-UIMgr_processReceivedData |
833 .LM103: |
834 0300 00D0 rcall CamConfig_sendFifoCmds |
835 0302 49C0 rjmp .L73 |
836 .L83: |
837 .stabn 68,0,354,.LM104-UIMgr_processReceivedData |
838 .LM104: |
839 0304 8430 cpi r24,lo8(4) |
840 0306 31F4 brne .L88 |
841 .stabn 68,0,357,.LM105-UIMgr_processReceivedData |
842 .LM105: |
843 0308 84E6 ldi r24,lo8(100) |
844 030a 90E0 ldi r25,hi8(100) |
845 030c 00D0 rcall Utility_delay |
846 .stabn 68,0,358,.LM106-UIMgr_processReceivedData |
847 .LM106: |
848 030e 80E8 ldi r24,lo8(-128) |
849 0310 00D0 rcall Exec_writeEventFifo |
850 0312 41C0 rjmp .L73 |
851 .L88: |
852 .stabn 68,0,360,.LM107-UIMgr_processReceivedData |
853 .LM107: |
854 0314 8530 cpi r24,lo8(5) |
855 0316 19F4 brne .L90 |
856 .stabn 68,0,362,.LM108-UIMgr_processReceivedData |
857 .LM108: |
858 0318 81E8 ldi r24,lo8(-127) |
859 031a 00D0 rcall Exec_writeEventFifo |
860 031c 3CC0 rjmp .L73 |
861 .L90: |
862 .stabn 68,0,364,.LM109-UIMgr_processReceivedData |
863 .LM109: |
864 031e 8630 cpi r24,lo8(6) |
865 0320 09F0 breq .+2 |
866 0322 39C0 rjmp .L73 |
867 .stabn 68,0,367,.LM110-UIMgr_processReceivedData |
868 .LM110: |
869 0324 8091 0000 lds r24,tokenCount |
870 0328 8823 tst r24 |
871 032a 09F4 brne .+2 |
872 032c 34C0 rjmp .L73 |
873 032e 40E0 ldi r20,lo8(0) |
874 0330 00E0 ldi r16,lo8(tokenBuffer) |
875 0332 10E0 ldi r17,hi8(tokenBuffer) |
876 0334 60E0 ldi r22,lo8(colorMap) |
877 0336 70E0 ldi r23,hi8(colorMap) |
878 .L94: |
GAS LISTING /tmp/ccRvT1Qm.s page 28 |
822 .stabn 68,0,322,.LM97-.LFBB10 |
823 .LM97: |
824 02e2 8881 ld r24,Y |
825 02e4 8823 tst r24 |
826 02e6 01F4 brne .+2 |
827 02e8 00C0 rjmp .L75 |
828 02ea 00C0 rjmp .L80 |
829 .L77: |
830 .stabn 68,0,327,.LM98-.LFBB10 |
831 .LM98: |
832 02ec 8730 cpi r24,lo8(7) |
833 02ee 01F4 brne .L81 |
834 .stabn 68,0,329,.LM99-.LFBB10 |
835 .LM99: |
836 02f0 00D0 rcall CamInt_resetCam |
837 02f2 00C0 rjmp .L75 |
838 .L81: |
839 .stabn 68,0,331,.LM100-.LFBB10 |
840 .LM100: |
841 02f4 8330 cpi r24,lo8(3) |
842 02f6 01F4 brne .L83 |
843 .stabn 68,0,340,.LM101-.LFBB10 |
844 .LM101: |
845 02f8 84E6 ldi r24,lo8(100) |
846 02fa 90E0 ldi r25,hi8(100) |
847 02fc 00D0 rcall Utility_delay |
848 .stabn 68,0,341,.LM102-.LFBB10 |
849 .LM102: |
850 02fe 82E0 ldi r24,lo8(2) |
851 0300 00D0 rcall Exec_writeEventFifo |
852 0302 00C0 rjmp .L75 |
853 .L83: |
854 .stabn 68,0,343,.LM103-.LFBB10 |
855 .LM103: |
856 0304 8230 cpi r24,lo8(2) |
857 0306 01F4 brne .L85 |
858 .stabn 68,0,347,.LM104-.LFBB10 |
859 .LM104: |
860 0308 8091 0000 lds r24,tokenCount |
861 030c 8230 cpi r24,lo8(2) |
862 030e 00F0 brlo .L87 |
863 0310 11E0 ldi r17,lo8(1) |
864 .L89: |
865 .stabn 68,0,350,.LM105-.LFBB10 |
866 .LM105: |
867 0312 F701 movw r30,r14 |
868 0314 E10F add r30,r17 |
869 0316 F11D adc r31,__zero_reg__ |
870 0318 6181 ldd r22,Z+1 |
871 031a 8081 ld r24,Z |
872 031c 00D0 rcall CamConfig_setCamReg |
873 .stabn 68,0,347,.LM106-.LFBB10 |
874 .LM106: |
875 031e 1E5F subi r17,lo8(-(2)) |
876 0320 8091 0000 lds r24,tokenCount |
877 0324 1817 cp r17,r24 |
878 0326 00F0 brlo .L89 |
GAS LISTING /tmp/ccs6Vjbf.s page 28 |
|
|
879 .stabn 68,0,369,.LM111-UIMgr_processReceivedData |
880 .LM111: |
881 0338 842F mov r24,r20 |
882 033a 9927 clr r25 |
883 033c 9C01 movw r18,r24 |
884 033e 2F5F subi r18,lo8(-(1)) |
885 0340 3F4F sbci r19,hi8(-(1)) |
886 0342 F901 movw r30,r18 |
887 0344 E00F add r30,r16 |
888 0346 F11F adc r31,r17 |
889 0348 E081 ld r30,Z |
890 034a EC01 movw r28,r24 |
891 034c C60F add r28,r22 |
892 034e D71F adc r29,r23 |
893 0350 E883 st Y,r30 |
894 .LBB30: |
895 .LBB31: |
896 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext1 |
897 .Ltext1: |
1:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* Copyright (c) 2002, 2003, 2004 Marek Michalkiewicz |
2:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Copyright (c) 2005, 2006 Bjoern Haase |
3:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** All rights reserved. |
4:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
5:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Redistribution and use in source and binary forms, with or without |
6:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** modification, are permitted provided that the following conditions are met: |
7:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
8:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** * Redistributions of source code must retain the above copyright |
9:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer. |
10:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
11:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** * Redistributions in binary form must reproduce the above copyright |
12:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer in |
13:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** the documentation and/or other materials provided with the |
14:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** distribution. |
15:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
16:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** * Neither the name of the copyright holders nor the names of |
17:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** contributors may be used to endorse or promote products derived |
18:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** from this software without specific prior written permission. |
19:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
20:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
21:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
22:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
23:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
24:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
25:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
26:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
27:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
28:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
29:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
30:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** POSSIBILITY OF SUCH DAMAGE. */ |
31:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
32:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* $Id: eeprom.h,v 1.17.2.1 2006/02/26 21:51:04 aesok Exp $ */ |
33:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
34:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* |
35:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom.h |
36:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
37:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Contributors: |
38:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Created by Marek Michalkiewicz <marekm@linux.org.pl> |
GAS LISTING /tmp/ccRvT1Qm.s page 29 |
879 .L87: |
880 .stabn 68,0,352,.LM107-.LFBB10 |
881 .LM107: |
882 0328 00D0 rcall CamConfig_sendFifoCmds |
883 032a 00C0 rjmp .L75 |
884 .L85: |
885 .stabn 68,0,354,.LM108-.LFBB10 |
886 .LM108: |
887 032c 8430 cpi r24,lo8(4) |
888 032e 01F4 brne .L90 |
889 .stabn 68,0,357,.LM109-.LFBB10 |
890 .LM109: |
891 0330 84E6 ldi r24,lo8(100) |
892 0332 90E0 ldi r25,hi8(100) |
893 0334 00D0 rcall Utility_delay |
894 .stabn 68,0,358,.LM110-.LFBB10 |
895 .LM110: |
896 0336 80E8 ldi r24,lo8(-128) |
897 0338 00D0 rcall Exec_writeEventFifo |
898 033a 00C0 rjmp .L75 |
899 .L90: |
900 .stabn 68,0,360,.LM111-.LFBB10 |
901 .LM111: |
902 033c 8530 cpi r24,lo8(5) |
903 033e 01F4 brne .L92 |
904 .stabn 68,0,362,.LM112-.LFBB10 |
905 .LM112: |
906 0340 81E8 ldi r24,lo8(-127) |
907 0342 00D0 rcall Exec_writeEventFifo |
908 0344 00C0 rjmp .L75 |
909 .L92: |
910 .stabn 68,0,364,.LM113-.LFBB10 |
911 .LM113: |
912 0346 8630 cpi r24,lo8(6) |
913 0348 01F0 breq .+2 |
914 034a 00C0 rjmp .L75 |
915 .stabn 68,0,367,.LM114-.LFBB10 |
916 .LM114: |
917 034c 8091 0000 lds r24,tokenCount |
918 0350 8823 tst r24 |
919 0352 01F0 breq .L75 |
920 0354 40E0 ldi r20,lo8(0) |
921 .L96: |
922 .stabn 68,0,369,.LM115-.LFBB10 |
923 .LM115: |
924 0356 842F mov r24,r20 |
925 0358 9927 clr r25 |
926 035a 9C01 movw r18,r24 |
927 035c 2F5F subi r18,lo8(-(1)) |
928 035e 3F4F sbci r19,hi8(-(1)) |
929 0360 F901 movw r30,r18 |
930 0362 EE0D add r30,r14 |
931 0364 FF1D adc r31,r15 |
932 0366 E081 ld r30,Z |
933 0368 EC01 movw r28,r24 |
934 036a C80D add r28,r8 |
935 036c D91D adc r29,r9 |
GAS LISTING /tmp/ccs6Vjbf.s page 29 |
|
|
39:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_word and eeprom_write_block added by Artur Lipowski |
40:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** <LAL@pro.onet.pl> |
41:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Complete rewrite using the original interface by Bjoern Haase |
42:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** <bjoern.haase@de.bosch.com>. |
43:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** */ |
44:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
45:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifndef _EEPROM_H_ |
46:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _EEPROM_H_ 1 |
47:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
48:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define __need_size_t |
49:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #include <stddef.h> |
50:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #include <inttypes.h> |
51:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
52:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
53:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifdef __AVR_MEGA__ |
54:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define XCALL "call" |
55:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #else |
56:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define XCALL "rcall" |
57:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif |
58:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
59:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #include <avr/io.h> |
60:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifndef __EEPROM_REG_LOCATIONS__ |
61:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def __EEPROM_REG_LOCATIONS__ |
62:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
63:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** In order to be able to work without a requiring a multilib |
64:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** approach for dealing with controllers having the EEPROM registers |
65:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** at different positions in memory space, the eeprom functions evaluate |
66:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** __EEPROM_REG_LOCATIONS__: It is assumed to be defined by |
67:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** the device io header and contains 6 uppercase hex digits encoding the |
68:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** addresses of EECR,EEDR and EEAR. |
69:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** First two letters: EECR address. |
70:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Second two letters: EEDR address. |
71:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Last two letters: EEAR address. |
72:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** The default 1C1D1E corresponds to the |
73:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** register location that is valid for most controllers. The value |
74:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** of this define symbol is used for appending it to the base name of the |
75:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** assembler functions. */ |
76:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define __EEPROM_REG_LOCATIONS__ 1C1D1E |
77:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif |
78:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _STR2(EXP) _STR1(EXP) |
79:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _STR1(EXP) #EXP |
80:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define _REG_LOCATION_SUFFIX _STR2(__EEPROM_REG_LOCATIONS__) |
81:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
82:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #ifndef CR_TAB |
83:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define CR_TAB "\n\t" |
84:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif |
85:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
86:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
87:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \defgroup avr_eeprom <avr/eeprom.h>: EEPROM handling |
88:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \code #include <avr/eeprom.h> \endcode |
89:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
90:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** This header file declares the interface to some simple library |
91:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** routines suitable for handling the data EEPROM contained in the |
92:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** AVR microcontrollers. The implementation uses a simple polled |
93:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** mode interface. Applications that require interrupt-controlled |
94:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** EEPROM access to ensure that no time will be wasted in spinloops |
95:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** will have to deploy their own implementation. |
GAS LISTING /tmp/ccRvT1Qm.s page 30 |
936 036e E883 st Y,r30 |
937 .LBB27: |
938 .LBB28: |
939 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext1 |
940 .Ltext1: |
1:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* Copyright (c) 2002, 2003, 2004 Marek Michalkiewicz |
2:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Copyright (c) 2005, 2006 Bjoern Haase |
3:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** All rights reserved. |
4:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
5:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Redistribution and use in source and binary forms, with or without |
6:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** modification, are permitted provided that the following conditions are met: |
7:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
8:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** * Redistributions of source code must retain the above copyright |
9:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer. |
10:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
11:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** * Redistributions in binary form must reproduce the above copyright |
12:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** notice, this list of conditions and the following disclaimer in |
13:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** the documentation and/or other materials provided with the |
14:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** distribution. |
15:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
16:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** * Neither the name of the copyright holders nor the names of |
17:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** contributors may be used to endorse or promote products derived |
18:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** from this software without specific prior written permission. |
19:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
20:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
21:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
22:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
23:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
24:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
25:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
26:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
27:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
28:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
29:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
30:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** POSSIBILITY OF SUCH DAMAGE. */ |
31:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
32:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* $Id: eeprom.h,v 1.17.2.3 2006/05/23 17:18:23 aesok Exp $ */ |
33:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
34:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* |
35:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom.h |
36:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
37:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Contributors: |
38:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Created by Marek Michalkiewicz <marekm@linux.org.pl> |
39:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_word and eeprom_write_block added by Artur Lipowski |
40:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** <LAL@pro.onet.pl> |
41:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Complete rewrite using the original interface by Bjoern Haase |
42:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** <bjoern.haase@de.bosch.com>. |
43:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** */ |
44:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
45:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifndef _EEPROM_H_ |
46:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _EEPROM_H_ 1 |
47:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
48:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define __need_size_t |
49:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #include <stddef.h> |
50:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #include <inttypes.h> |
51:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
52:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
GAS LISTING /tmp/ccs6Vjbf.s page 30 |
|
|
96:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
97:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note All of the read/write functions first make sure the EEPROM |
98:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** is ready to be accessed. Since this may cause long delays if a |
99:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** write operation is still pending, time-critical applications |
100:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** should first poll the EEPROM e. g. using eeprom_is_ready() before |
101:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** attempting any actual I/O. |
102:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
103:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note This header file declares inline functions that call the |
104:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** assembler subroutines directly. This prevents that the compiler |
105:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** generates push/pops for the call-clobbered registers. This way |
106:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** also a specific calling convention could be used for the eeprom |
107:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** routines e.g. by passing values in __tmp_reg__, eeprom addresses in |
108:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** X and memory addresses in Z registers. Method is optimized for code |
109:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size. |
110:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
111:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note Presently supported are two locations of the EEPROM register |
112:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** set: 0x1F,0x20,0x21 and 0x1C,0x1D,0x1E |
113:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** (see ::__EEPROM_REG_LOCATIONS__). |
114:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
115:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \note As these functions modify IO registers, they are known to be |
116:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** non-reentrant. If any of these functions are used from both, |
117:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** standard and interrupt context, the applications must ensure |
118:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** proper protection (e.g. by disabling interrupts before accessing |
119:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** them). |
120:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
121:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** */ |
122:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
123:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
124:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* forward declarations of the inline functions so that doxygen does |
125:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** not get confused by the attribute expression. */ |
126:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
127:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline uint8_t __attribute__ ((always_inline)) |
128:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr); |
129:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
130:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline uint16_t __attribute__ ((always_inline)) |
131:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr); |
132:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
133:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
134:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram, |
135:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom, |
136:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size_t size); |
137:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
138:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
139:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_byte (uint8_t *addr,uint8_t value); |
140:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
141:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
142:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_word (uint16_t *addr,uint16_t value); |
143:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
144:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
145:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_block (const void *pointer_ram, |
146:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** void *pointer_eeprom, |
147:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size_t size); |
148:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
149:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \name avr-libc declarations */ |
150:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
151:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /*@{*/ |
152:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
GAS LISTING /tmp/ccRvT1Qm.s page 31 |
53:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifdef __AVR_MEGA__ |
54:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define XCALL "call" |
55:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #else |
56:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define XCALL "rcall" |
57:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif |
58:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
59:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #include <avr/io.h> |
60:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifndef __EEPROM_REG_LOCATIONS__ |
61:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def __EEPROM_REG_LOCATIONS__ |
62:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
63:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** In order to be able to work without a requiring a multilib |
64:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** approach for dealing with controllers having the EEPROM registers |
65:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** at different positions in memory space, the eeprom functions evaluate |
66:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __EEPROM_REG_LOCATIONS__: It is assumed to be defined by |
67:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** the device io header and contains 6 uppercase hex digits encoding the |
68:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** addresses of EECR,EEDR and EEAR. |
69:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** First two letters: EECR address. |
70:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Second two letters: EEDR address. |
71:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Last two letters: EEAR address. |
72:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** The default 1C1D1E corresponds to the |
73:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** register location that is valid for most controllers. The value |
74:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** of this define symbol is used for appending it to the base name of the |
75:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** assembler functions. */ |
76:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define __EEPROM_REG_LOCATIONS__ 1C1D1E |
77:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif |
78:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _STR2(EXP) _STR1(EXP) |
79:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _STR1(EXP) #EXP |
80:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define _REG_LOCATION_SUFFIX _STR2(__EEPROM_REG_LOCATIONS__) |
81:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
82:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #ifndef CR_TAB |
83:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define CR_TAB "\n\t" |
84:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif |
85:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
86:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
87:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \defgroup avr_eeprom <avr/eeprom.h>: EEPROM handling |
88:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \code #include <avr/eeprom.h> \endcode |
89:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
90:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** This header file declares the interface to some simple library |
91:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** routines suitable for handling the data EEPROM contained in the |
92:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** AVR microcontrollers. The implementation uses a simple polled |
93:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** mode interface. Applications that require interrupt-controlled |
94:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** EEPROM access to ensure that no time will be wasted in spinloops |
95:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** will have to deploy their own implementation. |
96:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
97:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note All of the read/write functions first make sure the EEPROM |
98:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** is ready to be accessed. Since this may cause long delays if a |
99:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** write operation is still pending, time-critical applications |
100:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** should first poll the EEPROM e. g. using eeprom_is_ready() before |
101:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** attempting any actual I/O. |
102:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
103:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note This header file declares inline functions that call the |
104:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** assembler subroutines directly. This prevents that the compiler |
105:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** generates push/pops for the call-clobbered registers. This way |
106:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** also a specific calling convention could be used for the eeprom |
107:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** routines e.g. by passing values in __tmp_reg__, eeprom addresses in |
108:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** X and memory addresses in Z registers. Method is optimized for code |
109:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size. |
GAS LISTING /tmp/ccs6Vjbf.s page 31 |
|
|
153:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def EEMEM |
154:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
155:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Attribute expression causing a variable to be allocated within the .eeprom |
156:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** section. */ |
157:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define EEMEM __attribute__((section(".eeprom"))) |
158:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
159:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_is_ready |
160:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
161:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \returns 1 if EEPROM is ready for a new read/write operation, 0 if not. */ |
162:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
163:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #if defined(__DOXYGEN__) |
164:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() |
165:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #elif defined(EEWE) |
166:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEWE) |
167:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #elif defined(EEPE) |
168:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEPE) |
169:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #elif defined(DEECR) && defined(EEL) |
170:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(DEECR, EEL) |
171:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #else |
172:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** # error "No write enable bit known for this device's EEPROM." |
173:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #endif |
174:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
175:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_busy_wait |
176:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
177:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
178:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Loops until the eeprom is no longer busy. |
179:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
180:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \returns Nothing. */ |
181:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
182:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** #define eeprom_busy_wait() do {} while (!eeprom_is_ready()) |
183:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
184:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
185:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
186:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Read one byte from EEPROM address \c addr. */ |
187:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
188:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint8_t |
189:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr) |
190:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
191:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint8_t result; |
192:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile |
898 .stabn 68,0,192,.LM112-UIMgr_processReceivedData |
899 .LM112: |
900 0352 D901 movw r26,r18 |
901 /* #APP */ |
902 0354 00D0 rcall __eeprom_read_byte_1C1D1E |
903 0356 802D mov r24,__tmp_reg__ |
904 /* #NOAPP */ |
905 .LBE31: |
906 .LBE30: |
907 .stabs "UIMgr.c",132,0,0,.Ltext2 |
908 .Ltext2: |
909 .stabn 68,0,374,.LM113-UIMgr_processReceivedData |
910 .LM113: |
911 0358 E817 cp r30,r24 |
912 035a C1F0 breq .L95 |
913 .LBB32: |
914 .LBB33: |
GAS LISTING /tmp/ccRvT1Qm.s page 32 |
110:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
111:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note Presently supported are two locations of the EEPROM register |
112:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** set: 0x1F,0x20,0x21 and 0x1C,0x1D,0x1E |
113:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** (see ::__EEPROM_REG_LOCATIONS__). |
114:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
115:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \note As these functions modify IO registers, they are known to be |
116:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** non-reentrant. If any of these functions are used from both, |
117:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** standard and interrupt context, the applications must ensure |
118:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** proper protection (e.g. by disabling interrupts before accessing |
119:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** them). |
120:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
121:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** */ |
122:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
123:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
124:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* forward declarations of the inline functions so that doxygen does |
125:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** not get confused by the attribute expression. */ |
126:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
127:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline uint8_t __attribute__ ((always_inline)) |
128:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr); |
129:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
130:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline uint16_t __attribute__ ((always_inline)) |
131:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr); |
132:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
133:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
134:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram, |
135:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom, |
136:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size_t size); |
137:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
138:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
139:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_byte (uint8_t *addr,uint8_t value); |
140:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
141:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
142:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_word (uint16_t *addr,uint16_t value); |
143:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
144:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline)) |
145:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_block (const void *pointer_ram, |
146:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** void *pointer_eeprom, |
147:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size_t size); |
148:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
149:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \name avr-libc declarations */ |
150:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
151:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /*@{*/ |
152:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
153:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def EEMEM |
154:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
155:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Attribute expression causing a variable to be allocated within the .eeprom |
156:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** section. */ |
157:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define EEMEM __attribute__((section(".eeprom"))) |
158:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
159:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_is_ready |
160:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
161:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \returns 1 if EEPROM is ready for a new read/write operation, 0 if not. */ |
162:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
163:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #if defined(__DOXYGEN__) |
164:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() |
165:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #elif defined(EEWE) |
166:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEWE) |
GAS LISTING /tmp/ccs6Vjbf.s page 32 |
|
|
915 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext3 |
916 .Ltext3: |
193:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ( XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB |
194:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "mov %1,__tmp_reg__" |
195:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (addr), |
196:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=r" (result) |
197:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : ); |
198:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** return result; |
199:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
200:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
201:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
202:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Read one 16-bit word (little endian) from EEPROM address \c addr. */ |
203:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint16_t |
204:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr) |
205:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
206:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint16_t result; |
207:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
208:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm ( |
209:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_word_" _REG_LOCATION_SUFFIX CR_TAB |
210:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (addr), |
211:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (result) |
212:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : ); |
213:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** return result; |
214:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
215:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
216:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
217:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Read a block of \c n bytes from EEPROM address \c pointer_eeprom to |
218:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** \c pointer_ram. For constant n <= 256 bytes a library function is used. |
219:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** For block sizes unknown at compile time or block sizes > 256 an inline |
220:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** loop is expanded. */ |
221:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
222:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** void |
223:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram, |
224:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom, |
225:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** size_t n) |
226:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
227:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** if (!__builtin_constant_p (n) |
228:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** || n > 256) |
229:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
230:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* make sure size is a 16 bit variable. */ |
231:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint16_t size = n; |
232:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
233:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile ( |
234:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ".%=_start:" CR_TAB |
235:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "sbiw %2,1" CR_TAB |
236:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "brlt .%=_finished" CR_TAB |
237:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB |
238:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "st z+,__tmp_reg__" CR_TAB |
239:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "rjmp .%=_start" CR_TAB |
240:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** ".%=_finished:" |
241:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "=x" (pointer_eeprom), |
242:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram), |
243:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "+w" (size) |
244:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "x" (pointer_eeprom), |
245:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "z" (pointer_ram) |
246:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "memory"); |
247:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
GAS LISTING /tmp/ccRvT1Qm.s page 33 |
167:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #elif defined(EEPE) |
168:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(EECR, EEPE) |
169:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #elif defined(DEECR) && defined(EEL) |
170:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # define eeprom_is_ready() bit_is_clear(DEECR, EEL) |
171:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #else |
172:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** # error "No write enable bit known for this device's EEPROM." |
173:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #endif |
174:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
175:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \def eeprom_busy_wait |
176:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \ingroup avr_eeprom |
177:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
178:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Loops until the eeprom is no longer busy. |
179:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
180:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \returns Nothing. */ |
181:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
182:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** #define eeprom_busy_wait() do {} while (!eeprom_is_ready()) |
183:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
184:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
185:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
186:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Read one byte from EEPROM address \c addr. */ |
187:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
188:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint8_t |
189:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr) |
190:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
191:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint8_t result; |
192:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ |
941 .stabn 68,0,192,.LM116-.LFBB10 |
942 .LM116: |
943 0370 D901 movw r26,r18 |
944 /* #APP */ |
945 0372 00D0 rcall __eeprom_read_byte_1C1D1E |
946 0374 802D mov r24,__tmp_reg__ |
947 /* #NOAPP */ |
948 .LBE28: |
949 .LBE27: |
950 .stabs "UIMgr.c",132,0,0,.Ltext2 |
951 .Ltext2: |
952 .stabn 68,0,374,.LM117-.LFBB10 |
953 .LM117: |
954 0376 E817 cp r30,r24 |
955 0378 01F0 breq .L97 |
956 .LBB29: |
957 .LBB31: |
958 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext3 |
959 .Ltext3: |
193:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ( XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB |
194:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "mov %1,__tmp_reg__" |
195:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (addr), |
196:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=r" (result) |
197:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : ); |
198:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** return result; |
199:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
200:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
201:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
202:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Read one 16-bit word (little endian) from EEPROM address \c addr. */ |
203:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint16_t |
204:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr) |
GAS LISTING /tmp/ccs6Vjbf.s page 33 |
|
|
248:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** else |
249:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
250:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** if (n != 0) |
251:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
252:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** if (n == 256) |
253:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
254:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile ( |
255:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_block_" _REG_LOCATION_SUFFIX |
256:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (pointer_eeprom), |
257:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram) |
258:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "z" (pointer_ram) |
259:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "memory"); |
260:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
261:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** else |
262:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
263:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /* Needed in order to truncate to 8 bit. */ |
264:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** uint8_t len; |
265:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** len = (uint8_t) n; |
266:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
267:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile ( |
268:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "mov __zero_reg__,%2" CR_TAB |
269:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_block_" _REG_LOCATION_SUFFIX |
270:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "+x" (pointer_eeprom), |
271:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram) |
272:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "r" (len), |
273:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** "z" (pointer_ram) |
274:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** : "memory"); |
275:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
276:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
277:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
278:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** } |
279:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
280:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
281:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** Write a byte \c value to EEPROM address \c addr. */ |
282:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** |
283:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** void |
284:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** eeprom_write_byte (uint8_t *addr,uint8_t value) |
285:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** { |
286:/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h **** asm volatile ( |
917 .stabn 68,0,286,.LM114-UIMgr_processReceivedData |
918 .LM114: |
919 035c D901 movw r26,r18 |
920 /* #APP */ |
921 035e 0E2E mov __tmp_reg__,r30 |
922 0360 00D0 rcall __eeprom_write_byte_1C1D1E |
923 /* #NOAPP */ |
924 .LBE33: |
925 .LBE32: |
926 .LBB34: |
927 .LBB35: |
928 .stabn 68,0,192,.LM115-UIMgr_processReceivedData |
929 .LM115: |
930 0362 D901 movw r26,r18 |
931 /* #APP */ |
932 0364 00D0 rcall __eeprom_read_byte_1C1D1E |
933 0366 802D mov r24,__tmp_reg__ |
934 /* #NOAPP */ |
GAS LISTING /tmp/ccRvT1Qm.s page 34 |
205:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
206:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint16_t result; |
207:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
208:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ ( |
209:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_word_" _REG_LOCATION_SUFFIX CR_TAB |
210:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (addr), |
211:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (result) |
212:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : ); |
213:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** return result; |
214:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
215:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
216:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
217:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Read a block of \c n bytes from EEPROM address \c pointer_eeprom to |
218:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** \c pointer_ram. For constant n <= 256 bytes a library function is used. |
219:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** For block sizes unknown at compile time or block sizes > 256 an inline |
220:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** loop is expanded. */ |
221:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
222:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** void |
223:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram, |
224:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** const void *pointer_eeprom, |
225:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** size_t n) |
226:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
227:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** if (!__builtin_constant_p (n) |
228:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** || n > 256) |
229:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
230:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* make sure size is a 16 bit variable. */ |
231:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint16_t size = n; |
232:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
233:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ ( |
234:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ".%=_start:" CR_TAB |
235:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "sbiw %2,1" CR_TAB |
236:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "brlt .%=_finished" CR_TAB |
237:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_byte_" _REG_LOCATION_SUFFIX CR_TAB |
238:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "st z+,__tmp_reg__" CR_TAB |
239:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "rjmp .%=_start" CR_TAB |
240:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** ".%=_finished:" |
241:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "=x" (pointer_eeprom), |
242:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram), |
243:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "+w" (size) |
244:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "x" (pointer_eeprom), |
245:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "z" (pointer_ram) |
246:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "memory"); |
247:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
248:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** else |
249:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
250:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** if (n != 0) |
251:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
252:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** if (n == 256) |
253:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
254:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ ( |
255:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_block_" _REG_LOCATION_SUFFIX |
256:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (pointer_eeprom), |
257:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram) |
258:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "z" (pointer_ram) |
259:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "memory"); |
260:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
261:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** else |
GAS LISTING /tmp/ccs6Vjbf.s page 34 |
|
|
935 .LBE35: |
936 .LBE34: |
937 .stabs "UIMgr.c",132,0,0,.Ltext4 |
938 .Ltext4: |
939 .stabn 68,0,384,.LM116-UIMgr_processReceivedData |
940 .LM116: |
941 0368 9881 ld r25,Y |
942 036a 9817 cp r25,r24 |
943 036c 79F0 breq .L95 |
944 .LBB36: |
945 .LBB37: |
946 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext5 |
947 .Ltext5: |
948 .stabn 68,0,286,.LM117-UIMgr_processReceivedData |
949 .LM117: |
950 036e D901 movw r26,r18 |
951 /* #APP */ |
952 0370 092E mov __tmp_reg__,r25 |
953 0372 00D0 rcall __eeprom_write_byte_1C1D1E |
954 /* #NOAPP */ |
955 .LBE37: |
956 .LBE36: |
957 .LBB38: |
958 .LBB39: |
959 .stabn 68,0,192,.LM118-UIMgr_processReceivedData |
960 .LM118: |
961 0374 D901 movw r26,r18 |
962 /* #APP */ |
963 0376 00D0 rcall __eeprom_read_byte_1C1D1E |
964 0378 802D mov r24,__tmp_reg__ |
965 /* #NOAPP */ |
966 .LBE39: |
967 .LBE38: |
968 .stabs "UIMgr.c",132,0,0,.Ltext6 |
969 .Ltext6: |
970 .stabn 68,0,384,.LM119-UIMgr_processReceivedData |
971 .LM119: |
972 037a 9881 ld r25,Y |
973 037c 9817 cp r25,r24 |
974 037e 31F0 breq .L95 |
975 .LBB40: |
976 .LBB41: |
977 .stabs "/usr/lib/gcc/avr/4.1.0/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext7 |
978 .Ltext7: |
979 .stabn 68,0,286,.LM120-UIMgr_processReceivedData |
980 .LM120: |
981 0380 D901 movw r26,r18 |
982 /* #APP */ |
983 0382 092E mov __tmp_reg__,r25 |
984 0384 00D0 rcall __eeprom_write_byte_1C1D1E |
985 /* #NOAPP */ |
986 .LBE41: |
987 .LBE40: |
988 .LBB42: |
989 .LBB43: |
990 .stabn 68,0,192,.LM121-UIMgr_processReceivedData |
991 .LM121: |
GAS LISTING /tmp/ccRvT1Qm.s page 35 |
262:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
263:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /* Needed in order to truncate to 8 bit. */ |
264:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** uint8_t len; |
265:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** len = (uint8_t) n; |
266:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
267:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ ( |
268:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "mov __zero_reg__,%2" CR_TAB |
269:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** XCALL " __eeprom_read_block_" _REG_LOCATION_SUFFIX |
270:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "+x" (pointer_eeprom), |
271:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "=z" (pointer_ram) |
272:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "r" (len), |
273:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** "z" (pointer_ram) |
274:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** : "memory"); |
275:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
276:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
277:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
278:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** } |
279:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
280:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom |
281:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** Write a byte \c value to EEPROM address \c addr. */ |
282:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** |
283:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** void |
284:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** eeprom_write_byte (uint8_t *addr,uint8_t value) |
285:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** { |
286:/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h **** __asm__ __volatile__ ( |
960 .stabn 68,0,286,.LM118-.LFBB10 |
961 .LM118: |
962 037a D901 movw r26,r18 |
963 /* #APP */ |
964 037c 0E2E mov __tmp_reg__,r30 |
965 037e 00D0 rcall __eeprom_write_byte_1C1D1E |
966 /* #NOAPP */ |
967 .LBE31: |
968 .LBE29: |
969 .LBB33: |
970 .LBB35: |
971 .stabn 68,0,192,.LM119-.LFBB10 |
972 .LM119: |
973 0380 D901 movw r26,r18 |
974 /* #APP */ |
975 0382 00D0 rcall __eeprom_read_byte_1C1D1E |
976 0384 802D mov r24,__tmp_reg__ |
977 /* #NOAPP */ |
978 .LBE35: |
979 .LBE33: |
980 .stabs "UIMgr.c",132,0,0,.Ltext4 |
981 .Ltext4: |
982 .stabn 68,0,384,.LM120-.LFBB10 |
983 .LM120: |
984 0386 9881 ld r25,Y |
985 .stabn 68,0,379,.LM121-.LFBB10 |
986 .LM121: |
987 0388 8917 cp r24,r25 |
988 038a 01F0 breq .L97 |
989 .LBB37: |
990 .LBB30: |
991 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext5 |
GAS LISTING /tmp/ccs6Vjbf.s page 35 |
|
|
992 0386 D901 movw r26,r18 |
993 /* #APP */ |
994 0388 00D0 rcall __eeprom_read_byte_1C1D1E |
995 038a 802D mov r24,__tmp_reg__ |
996 /* #NOAPP */ |
997 .L95: |
998 .LBE43: |
999 .LBE42: |
1000 .stabs "UIMgr.c",132,0,0,.Ltext8 |
1001 .Ltext8: |
1002 .stabn 68,0,367,.LM122-UIMgr_processReceivedData |
1003 .LM122: |
1004 038c 4F5F subi r20,lo8(-(1)) |
1005 038e 8091 0000 lds r24,tokenCount |
1006 0392 4817 cp r20,r24 |
1007 0394 88F2 brlo .L94 |
1008 .L73: |
1009 .LBE29: |
1010 .LBE28: |
1011 .stabn 68,0,235,.LM123-UIMgr_processReceivedData |
1012 .LM123: |
1013 0396 1092 0000 sts tokenCount,__zero_reg__ |
1014 .stabn 68,0,236,.LM124-UIMgr_processReceivedData |
1015 .LM124: |
1016 039a 80E4 ldi r24,lo8(64) |
1017 039c E0E0 ldi r30,lo8(tokenBuffer) |
1018 039e F0E0 ldi r31,hi8(tokenBuffer) |
1019 03a0 1192 st Z+,__zero_reg__ |
1020 03a2 8A95 dec r24 |
1021 03a4 E9F7 brne .-6 |
1022 03a6 3FC0 rjmp .L119 |
1023 .L66: |
1024 .stabn 68,0,238,.LM125-UIMgr_processReceivedData |
1025 .LM125: |
1026 03a8 9032 cpi r25,lo8(32) |
1027 03aa F1F4 brne .L99 |
1028 .stabn 68,0,241,.LM126-UIMgr_processReceivedData |
1029 .LM126: |
1030 03ac 8091 0000 lds r24,tokenCount |
1031 03b0 8823 tst r24 |
1032 03b2 39F4 brne .L101 |
1033 .stabn 68,0,243,.LM127-UIMgr_processReceivedData |
1034 .LM127: |
1035 03b4 8FDE rcall UIMgr_convertTokenToCmd |
1036 .stabn 68,0,244,.LM128-UIMgr_processReceivedData |
1037 .LM128: |
1038 03b6 8091 0000 lds r24,tokenCount |
1039 03ba 8F5F subi r24,lo8(-(1)) |
1040 03bc 8093 0000 sts tokenCount,r24 |
1041 03c0 32C0 rjmp .L119 |
1042 .L101: |
1043 .stabn 68,0,254,.LM129-UIMgr_processReceivedData |
1044 .LM129: |
1045 03c2 9927 clr r25 |
1046 03c4 CF97 sbiw r24,63 |
1047 03c6 4CF0 brlt .L103 |
1048 .stabn 68,0,259,.LM130-UIMgr_processReceivedData |
GAS LISTING /tmp/ccRvT1Qm.s page 36 |
992 .Ltext5: |
993 .stabn 68,0,286,.LM122-.LFBB10 |
994 .LM122: |
995 038c D901 movw r26,r18 |
996 /* #APP */ |
997 038e 092E mov __tmp_reg__,r25 |
998 0390 00D0 rcall __eeprom_write_byte_1C1D1E |
999 /* #NOAPP */ |
1000 .LBE30: |
1001 .LBE37: |
1002 .LBB38: |
1003 .LBB34: |
1004 .stabn 68,0,192,.LM123-.LFBB10 |
1005 .LM123: |
1006 0392 D901 movw r26,r18 |
1007 /* #APP */ |
1008 0394 00D0 rcall __eeprom_read_byte_1C1D1E |
1009 0396 802D mov r24,__tmp_reg__ |
1010 /* #NOAPP */ |
1011 .LBE34: |
1012 .LBE38: |
1013 .stabs "UIMgr.c",132,0,0,.Ltext6 |
1014 .Ltext6: |
1015 .stabn 68,0,384,.LM124-.LFBB10 |
1016 .LM124: |
1017 0398 9881 ld r25,Y |
1018 .stabn 68,0,379,.LM125-.LFBB10 |
1019 .LM125: |
1020 039a 8917 cp r24,r25 |
1021 039c 01F0 breq .L97 |
1022 .LBB39: |
1023 .LBB32: |
1024 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/eeprom.h",132,0,0,.Ltext7 |
1025 .Ltext7: |
1026 .stabn 68,0,286,.LM126-.LFBB10 |
1027 .LM126: |
1028 039e D901 movw r26,r18 |
1029 /* #APP */ |
1030 03a0 092E mov __tmp_reg__,r25 |
1031 03a2 00D0 rcall __eeprom_write_byte_1C1D1E |
1032 /* #NOAPP */ |
1033 .LBE32: |
1034 .LBE39: |
1035 .LBB40: |
1036 .LBB36: |
1037 .stabn 68,0,192,.LM127-.LFBB10 |
1038 .LM127: |
1039 03a4 D901 movw r26,r18 |
1040 /* #APP */ |
1041 03a6 00D0 rcall __eeprom_read_byte_1C1D1E |
1042 03a8 802D mov r24,__tmp_reg__ |
1043 /* #NOAPP */ |
1044 .L97: |
1045 .LBE36: |
1046 .LBE40: |
1047 .stabs "UIMgr.c",132,0,0,.Ltext8 |
1048 .Ltext8: |
GAS LISTING /tmp/ccs6Vjbf.s page 36 |
|
|
1049 .LM130: |
1050 03c8 1092 0000 sts charCount,__zero_reg__ |
1051 .stabn 68,0,260,.LM131-UIMgr_processReceivedData |
1052 .LM131: |
1053 03cc 1092 0000 sts charIndex,__zero_reg__ |
1054 .stabn 68,0,261,.LM132-UIMgr_processReceivedData |
1055 .LM132: |
1056 03d0 1092 0000 sts tokenCount,__zero_reg__ |
1057 .stabn 68,0,262,.LM133-UIMgr_processReceivedData |
1058 .LM133: |
1059 03d4 F092 0000 sts receivedCmd,r15 |
1060 03d8 26C0 rjmp .L119 |
1061 .L103: |
1062 .stabn 68,0,267,.LM134-UIMgr_processReceivedData |
1063 .LM134: |
1064 03da F6DE rcall UIMgr_convertTokenToValue |
1065 .stabn 68,0,268,.LM135-UIMgr_processReceivedData |
1066 .LM135: |
1067 03dc 8091 0000 lds r24,tokenCount |
1068 03e0 8F5F subi r24,lo8(-(1)) |
1069 03e2 8093 0000 sts tokenCount,r24 |
1070 03e6 1FC0 rjmp .L119 |
1071 .L99: |
1072 .stabn 68,0,272,.LM136-UIMgr_processReceivedData |
1073 .LM136: |
1074 03e8 892F mov r24,r25 |
1075 03ea 8154 subi r24,lo8(-(-65)) |
1076 03ec 8A31 cpi r24,lo8(26) |
1077 03ee 18F0 brlo .L105 |
1078 03f0 8F5E subi r24,lo8(-(17)) |
1079 03f2 8A30 cpi r24,lo8(10) |
1080 03f4 B0F4 brsh .L107 |
1081 .L105: |
1082 .stabn 68,0,276,.LM137-UIMgr_processReceivedData |
1083 .LM137: |
1084 03f6 8091 0000 lds r24,charIndex |
1085 03fa E82F mov r30,r24 |
1086 03fc FF27 clr r31 |
1087 03fe E050 subi r30,lo8(-(asciiTokenBuffer)) |
1088 0400 F040 sbci r31,hi8(-(asciiTokenBuffer)) |
1089 0402 9083 st Z,r25 |
1090 .stabn 68,0,277,.LM138-UIMgr_processReceivedData |
1091 .LM138: |
1092 0404 9091 0000 lds r25,charCount |
1093 0408 9F5F subi r25,lo8(-(1)) |
1094 040a 9093 0000 sts charCount,r25 |
1095 .stabn 68,0,278,.LM139-UIMgr_processReceivedData |
1096 .LM139: |
1097 040e 8F5F subi r24,lo8(-(1)) |
1098 0410 8093 0000 sts charIndex,r24 |
1099 .stabn 68,0,279,.LM140-UIMgr_processReceivedData |
1100 .LM140: |
1101 0414 9430 cpi r25,lo8(4) |
1102 0416 38F0 brlo .L119 |
1103 .stabn 68,0,284,.LM141-UIMgr_processReceivedData |
1104 .LM141: |
1105 0418 F092 0000 sts receivedCmd,r15 |
GAS LISTING /tmp/ccRvT1Qm.s page 37 |
1049 .stabn 68,0,367,.LM128-.LFBB10 |
1050 .LM128: |
1051 03aa 4F5F subi r20,lo8(-(1)) |
1052 03ac 8091 0000 lds r24,tokenCount |
1053 03b0 4817 cp r20,r24 |
1054 03b2 00F0 brlo .L96 |
1055 .L75: |
1056 .LBE41: |
1057 .LBE47: |
1058 .stabn 68,0,235,.LM129-.LFBB10 |
1059 .LM129: |
1060 03b4 1092 0000 sts tokenCount,__zero_reg__ |
1061 .stabn 68,0,236,.LM130-.LFBB10 |
1062 .LM130: |
1063 03b8 80E4 ldi r24,lo8(64) |
1064 03ba F701 movw r30,r14 |
1065 03bc 1192 st Z+,__zero_reg__ |
1066 03be 8A95 dec r24 |
1067 03c0 01F4 brne .-6 |
1068 03c2 00C0 rjmp .L119 |
1069 .L68: |
1070 .stabn 68,0,238,.LM131-.LFBB10 |
1071 .LM131: |
1072 03c4 2032 cpi r18,lo8(32) |
1073 03c6 01F4 brne .L101 |
1074 .stabn 68,0,241,.LM132-.LFBB10 |
1075 .LM132: |
1076 03c8 8091 0000 lds r24,tokenCount |
1077 03cc 8823 tst r24 |
1078 03ce 01F4 brne .L103 |
1079 .stabn 68,0,243,.LM133-.LFBB10 |
1080 .LM133: |
1081 03d0 00D0 rcall UIMgr_convertTokenToCmd |
1082 .stabn 68,0,244,.LM134-.LFBB10 |
1083 .LM134: |
1084 03d2 8091 0000 lds r24,tokenCount |
1085 03d6 8F5F subi r24,lo8(-(1)) |
1086 03d8 8093 0000 sts tokenCount,r24 |
1087 03dc 00C0 rjmp .L119 |
1088 .L103: |
1089 .stabn 68,0,254,.LM135-.LFBB10 |
1090 .LM135: |
1091 03de 9927 clr r25 |
1092 03e0 0196 adiw r24,1 |
1093 03e2 8034 cpi r24,64 |
1094 03e4 9105 cpc r25,__zero_reg__ |
1095 03e6 04F0 brlt .L105 |
1096 .stabn 68,0,259,.LM136-.LFBB10 |
1097 .LM136: |
1098 03e8 1092 0000 sts charCount,__zero_reg__ |
1099 .stabn 68,0,260,.LM137-.LFBB10 |
1100 .LM137: |
1101 03ec 1092 0000 sts charIndex,__zero_reg__ |
1102 .stabn 68,0,261,.LM138-.LFBB10 |
1103 .LM138: |
1104 03f0 1092 0000 sts tokenCount,__zero_reg__ |
1105 .stabn 68,0,262,.LM139-.LFBB10 |
GAS LISTING /tmp/ccs6Vjbf.s page 37 |
|
|
1106 .stabn 68,0,285,.LM142-UIMgr_processReceivedData |
1107 .LM142: |
1108 041c 1092 0000 sts charIndex,__zero_reg__ |
1109 0420 02C0 rjmp .L119 |
1110 .L107: |
1111 .stabn 68,0,291,.LM143-UIMgr_processReceivedData |
1112 .LM143: |
1113 0422 F092 0000 sts receivedCmd,r15 |
1114 .L119: |
1115 .stabn 68,0,199,.LM144-UIMgr_processReceivedData |
1116 .LM144: |
1117 0426 2091 0000 lds r18,UIMgr_rxFifoTail |
1118 042a 8091 0000 lds r24,UIMgr_rxFifoHead |
1119 042e 8217 cp r24,r18 |
1120 0430 09F0 breq .+2 |
1121 0432 FACE rjmp .L65 |
1122 .stabn 68,0,295,.LM145-UIMgr_processReceivedData |
1123 .LM145: |
1124 /* #APP */ |
1125 0434 E894 clt |
1126 /* #NOAPP */ |
1127 /* epilogue: frame size=0 */ |
1128 0436 DF91 pop r29 |
1129 0438 CF91 pop r28 |
1130 043a 1F91 pop r17 |
1131 043c 0F91 pop r16 |
1132 043e FF90 pop r15 |
1133 0440 0895 ret |
1134 /* epilogue end (size=6) */ |
1135 /* function UIMgr_processReceivedData size 297 (286) */ |
1136 .size UIMgr_processReceivedData, .-UIMgr_processReceivedData |
1137 .stabs "tmpData:r(0,11)",64,0,194,25 |
1138 .stabn 192,0,0,UIMgr_processReceivedData-UIMgr_processReceivedData |
1139 .stabs "dataByte:r(0,11)",64,0,609,25 |
1140 .stabn 192,0,0,.LBB23-UIMgr_processReceivedData |
1141 .stabn 224,0,0,.LBE23-UIMgr_processReceivedData |
1142 .stabn 224,0,0,.Lscope9-UIMgr_processReceivedData |
1143 .Lscope9: |
1144 .stabs "",36,0,0,.Lscope9-UIMgr_processReceivedData |
1145 .stabd 78,0,0 |
1146 .stabs "UIMgr_dispatchEvent:F(0,15)",36,0,152,UIMgr_dispatchEvent |
1147 .stabs "event:P(0,11)",64,0,151,24 |
1148 .global UIMgr_dispatchEvent |
1149 .type UIMgr_dispatchEvent, @function |
1150 UIMgr_dispatchEvent: |
1151 .stabd 46,0,0 |
1152 .stabn 68,0,152,.LM146-UIMgr_dispatchEvent |
1153 .LM146: |
1154 /* prologue: frame size=0 */ |
1155 /* prologue end (size=0) */ |
1156 .stabn 68,0,153,.LM147-UIMgr_dispatchEvent |
1157 .LM147: |
1158 0442 8031 cpi r24,lo8(16) |
1159 0444 29F0 breq .L123 |
1160 .stabn 68,0,153,.LM148-UIMgr_dispatchEvent |
1161 .LM148: |
1162 0446 8039 cpi r24,lo8(-112) |
GAS LISTING /tmp/ccRvT1Qm.s page 38 |
1106 .LM139: |
1107 03f4 89E0 ldi r24,lo8(9) |
1108 03f6 8093 0000 sts receivedCmd,r24 |
1109 03fa 00C0 rjmp .L119 |
1110 .L105: |
1111 .stabn 68,0,267,.LM140-.LFBB10 |
1112 .LM140: |
1113 03fc 00D0 rcall UIMgr_convertTokenToValue |
1114 .stabn 68,0,268,.LM141-.LFBB10 |
1115 .LM141: |
1116 03fe 8091 0000 lds r24,tokenCount |
1117 0402 8F5F subi r24,lo8(-(1)) |
1118 0404 8093 0000 sts tokenCount,r24 |
1119 0408 00C0 rjmp .L119 |
1120 .L101: |
1121 .stabn 68,0,272,.LM142-.LFBB10 |
1122 .LM142: |
1123 040a 822F mov r24,r18 |
1124 040c 8154 subi r24,lo8(-(-65)) |
1125 040e 8A31 cpi r24,lo8(26) |
1126 0410 00F0 brlo .L107 |
1127 0412 8F5E subi r24,lo8(-(17)) |
1128 0414 8A30 cpi r24,lo8(10) |
1129 0416 00F4 brsh .L109 |
1130 .L107: |
1131 .stabn 68,0,276,.LM143-.LFBB10 |
1132 .LM143: |
1133 0418 8091 0000 lds r24,charIndex |
1134 041c F501 movw r30,r10 |
1135 041e E80F add r30,r24 |
1136 0420 F11D adc r31,__zero_reg__ |
1137 0422 2083 st Z,r18 |
1138 .stabn 68,0,277,.LM144-.LFBB10 |
1139 .LM144: |
1140 0424 9091 0000 lds r25,charCount |
1141 0428 9F5F subi r25,lo8(-(1)) |
1142 042a 9093 0000 sts charCount,r25 |
1143 .stabn 68,0,278,.LM145-.LFBB10 |
1144 .LM145: |
1145 042e 8F5F subi r24,lo8(-(1)) |
1146 0430 8093 0000 sts charIndex,r24 |
1147 .stabn 68,0,279,.LM146-.LFBB10 |
1148 .LM146: |
1149 0434 9430 cpi r25,lo8(4) |
1150 0436 00F0 brlo .L119 |
1151 .stabn 68,0,284,.LM147-.LFBB10 |
1152 .LM147: |
1153 0438 89E0 ldi r24,lo8(9) |
1154 043a 8093 0000 sts receivedCmd,r24 |
1155 .stabn 68,0,285,.LM148-.LFBB10 |
1156 .LM148: |
1157 043e 1092 0000 sts charIndex,__zero_reg__ |
1158 0442 00C0 rjmp .L119 |
1159 .L109: |
1160 .stabn 68,0,291,.LM149-.LFBB10 |
1161 .LM149: |
1162 0444 89E0 ldi r24,lo8(9) |
GAS LISTING /tmp/ccs6Vjbf.s page 38 |
|
|
1163 0448 39F0 breq .L124 |
1164 044a 8130 cpi r24,lo8(1) |
1165 044c 31F4 brne .L125 |
1166 044e 02C0 rjmp .L122 |
1167 .L123: |
1168 .stabn 68,0,156,.LM149-UIMgr_dispatchEvent |
1169 .LM149: |
1170 0450 38DE rcall UIMgr_transmitPendingData |
1171 0452 0895 ret |
1172 .L122: |
1173 .stabn 68,0,160,.LM150-UIMgr_dispatchEvent |
1174 .LM150: |
1175 0454 DFDE rcall UIMgr_processReceivedData |
1176 0456 0895 ret |
1177 .L124: |
1178 .stabn 68,0,164,.LM151-UIMgr_dispatchEvent |
1179 .LM151: |
1180 0458 0EDE rcall UIMgr_flushTxBuffer |
1181 .L125: |
1182 045a 0895 ret |
1183 /* epilogue: frame size=0 */ |
1184 /* epilogue: noreturn */ |
1185 /* epilogue end (size=0) */ |
1186 /* function UIMgr_dispatchEvent size 13 (13) */ |
1187 .size UIMgr_dispatchEvent, .-UIMgr_dispatchEvent |
1188 .Lscope10: |
1189 .stabs "",36,0,0,.Lscope10-UIMgr_dispatchEvent |
1190 .stabd 78,0,0 |
1191 .global UIMgr_rxFifoHead |
1192 .global UIMgr_rxFifoHead |
1193 .section .bss |
1194 .type UIMgr_rxFifoHead, @object |
1195 .size UIMgr_rxFifoHead, 1 |
1196 UIMgr_rxFifoHead: |
1197 0000 00 .skip 1,0 |
1198 .global UIMgr_rxFifoTail |
1199 .global UIMgr_rxFifoTail |
1200 .type UIMgr_rxFifoTail, @object |
1201 .size UIMgr_rxFifoTail, 1 |
1202 UIMgr_rxFifoTail: |
1203 0001 00 .skip 1,0 |
1204 .global UIMgr_txFifoHead |
1205 .global UIMgr_txFifoHead |
1206 .type UIMgr_txFifoHead, @object |
1207 .size UIMgr_txFifoHead, 1 |
1208 UIMgr_txFifoHead: |
1209 0002 00 .skip 1,0 |
1210 .global UIMgr_txFifoTail |
1211 .global UIMgr_txFifoTail |
1212 .type UIMgr_txFifoTail, @object |
1213 .size UIMgr_txFifoTail, 1 |
1214 UIMgr_txFifoTail: |
1215 0003 00 .skip 1,0 |
1216 .lcomm tokenCount,1 |
1217 .data |
1218 .type receivedCmd, @object |
1219 .size receivedCmd, 1 |
GAS LISTING /tmp/ccRvT1Qm.s page 39 |
1163 0446 8093 0000 sts receivedCmd,r24 |
1164 .L119: |
1165 .stabn 68,0,199,.LM150-.LFBB10 |
1166 .LM150: |
1167 044a 9091 0000 lds r25,UIMgr_rxFifoTail |
1168 044e 8091 0000 lds r24,UIMgr_rxFifoHead |
1169 0452 8917 cp r24,r25 |
1170 0454 01F0 breq .+2 |
1171 0456 00C0 rjmp .L67 |
1172 .stabn 68,0,295,.LM151-.LFBB10 |
1173 .LM151: |
1174 /* #APP */ |
1175 0458 E894 clt |
1176 /* #NOAPP */ |
1177 /* epilogue: frame size=0 */ |
1178 045a DF91 pop r29 |
1179 045c CF91 pop r28 |
1180 045e 1F91 pop r17 |
1181 0460 FF90 pop r15 |
1182 0462 EF90 pop r14 |
1183 0464 DF90 pop r13 |
1184 0466 CF90 pop r12 |
1185 0468 BF90 pop r11 |
1186 046a AF90 pop r10 |
1187 046c 9F90 pop r9 |
1188 046e 8F90 pop r8 |
1189 0470 7F90 pop r7 |
1190 0472 6F90 pop r6 |
1191 0474 0895 ret |
1192 /* epilogue end (size=14) */ |
1193 /* function UIMgr_processReceivedData size 333 (306) */ |
1194 .size UIMgr_processReceivedData, .-UIMgr_processReceivedData |
1195 .stabs "dataByte:r(0,11)",64,0,609,18 |
1196 .stabn 192,0,0,.LBB23-.LFBB10 |
1197 .stabn 224,0,0,.LBE23-.LFBB10 |
1198 .stabs "dataByte:r(0,11)",64,0,609,18 |
1199 .stabn 192,0,0,.LBB24-.LFBB10 |
1200 .stabn 224,0,0,.LBE24-.LFBB10 |
1201 .Lscope10: |
1202 .stabs "",36,0,0,.Lscope10-.LFBB10 |
1203 .stabd 78,0,0 |
1204 .stabs "UIMgr_dispatchEvent:F(0,15)",36,0,152,UIMgr_dispatchEvent |
1205 .stabs "event:P(0,11)",64,0,151,24 |
1206 .global UIMgr_dispatchEvent |
1207 .type UIMgr_dispatchEvent, @function |
1208 UIMgr_dispatchEvent: |
1209 .stabd 46,0,0 |
1210 .stabn 68,0,152,.LM152-.LFBB11 |
1211 .LM152: |
1212 .LFBB11: |
1213 /* prologue: frame size=0 */ |
1214 /* prologue end (size=0) */ |
1215 .stabn 68,0,153,.LM153-.LFBB11 |
1216 .LM153: |
1217 0476 8031 cpi r24,lo8(16) |
1218 0478 01F0 breq .L123 |
1219 .stabn 68,0,153,.LM154-.LFBB11 |
GAS LISTING /tmp/ccs6Vjbf.s page 39 |
|
|
1220 receivedCmd: |
1221 0000 08 .byte 8 |
1222 .lcomm charCount,1 |
1223 .lcomm charIndex,1 |
1224 .type AVRcamVersion, @object |
1225 .size AVRcamVersion, 13 |
1226 AVRcamVersion: |
1227 0001 4156 5263 .string "AVRcam v1.4\r" |
1227 616D 2076 |
1227 312E 340D |
1227 00 |
1228 .lcomm asciiTokenBuffer,4 |
1229 .lcomm tokenBuffer,64 |
1230 .comm UIMgr_rxFifo,32,1 |
1231 .comm UIMgr_txFifo,64,1 |
1232 .stabs "charCount:S(0,11)",38,0,92,charCount |
1233 .stabs "charIndex:S(0,11)",38,0,93,charIndex |
1234 .stabs "asciiTokenBuffer:S(0,21)=ar(0,22)=r(0,22);0;0177777;;0;3;(0,11)",40,0,94,asciiTokenBuffer |
1235 .stabs "tokenCount:S(0,11)",38,0,95,tokenCount |
1236 .stabs "tokenBuffer:S(0,23)=ar(0,22);0;63;(0,11)",40,0,96,tokenBuffer |
1237 .stabs "receivedCmd:S(0,17)",38,0,97,receivedCmd |
1238 .stabs "AVRcamVersion:S(0,24)=ar(0,22);0;12;(0,11)",38,0,98,AVRcamVersion |
1239 .stabs "UIMgr_rxFifo:G(0,25)=ar(0,22);0;31;(0,11)",32,0,111,0 |
1240 .stabs "UIMgr_rxFifoHead:G(0,11)",32,0,112,0 |
1241 .stabs "UIMgr_rxFifoTail:G(0,11)",32,0,113,0 |
1242 .stabs "UIMgr_txFifo:G(0,23)",32,0,115,0 |
1243 .stabs "UIMgr_txFifoHead:G(0,11)",32,0,116,0 |
1244 .stabs "UIMgr_txFifoTail:G(0,11)",32,0,117,0 |
1245 .text |
1246 .stabs "",100,0,0,.Letext0 |
1247 .Letext0: |
1248 /* File "UIMgr.c": code 582 = 0x0246 ( 557), prologues 9, epilogues 16 */ |
GAS LISTING /tmp/ccRvT1Qm.s page 40 |
1220 .LM154: |
1221 047a 8039 cpi r24,lo8(-112) |
1222 047c 01F0 breq .L124 |
1223 047e 8130 cpi r24,lo8(1) |
1224 0480 01F4 brne .L125 |
1225 0482 00C0 rjmp .L122 |
1226 .L123: |
1227 .stabn 68,0,156,.LM155-.LFBB11 |
1228 .LM155: |
1229 0484 00D0 rcall UIMgr_transmitPendingData |
1230 0486 0895 ret |
1231 .L122: |
1232 .stabn 68,0,160,.LM156-.LFBB11 |
1233 .LM156: |
1234 0488 00D0 rcall UIMgr_processReceivedData |
1235 048a 0895 ret |
1236 .L124: |
1237 .stabn 68,0,164,.LM157-.LFBB11 |
1238 .LM157: |
1239 048c 00D0 rcall UIMgr_flushTxBuffer |
1240 .L125: |
1241 048e 0895 ret |
1242 /* epilogue: frame size=0 */ |
1243 /* epilogue: noreturn */ |
1244 /* epilogue end (size=0) */ |
1245 /* function UIMgr_dispatchEvent size 13 (13) */ |
1246 .size UIMgr_dispatchEvent, .-UIMgr_dispatchEvent |
1247 .Lscope11: |
1248 .stabs "",36,0,0,.Lscope11-.LFBB11 |
1249 .stabd 78,0,0 |
1250 .global UIMgr_rxFifoHead |
1251 .global UIMgr_rxFifoHead |
1252 .section .bss |
1253 .type UIMgr_rxFifoHead, @object |
1254 .size UIMgr_rxFifoHead, 1 |
1255 UIMgr_rxFifoHead: |
1256 0000 00 .skip 1,0 |
1257 .global UIMgr_rxFifoTail |
1258 .global UIMgr_rxFifoTail |
1259 .type UIMgr_rxFifoTail, @object |
1260 .size UIMgr_rxFifoTail, 1 |
1261 UIMgr_rxFifoTail: |
1262 0001 00 .skip 1,0 |
1263 .global UIMgr_txFifoHead |
1264 .global UIMgr_txFifoHead |
1265 .type UIMgr_txFifoHead, @object |
1266 .size UIMgr_txFifoHead, 1 |
1267 UIMgr_txFifoHead: |
1268 0002 00 .skip 1,0 |
1269 .global UIMgr_txFifoTail |
1270 .global UIMgr_txFifoTail |
1271 .type UIMgr_txFifoTail, @object |
1272 .size UIMgr_txFifoTail, 1 |
1273 UIMgr_txFifoTail: |
1274 0003 00 .skip 1,0 |
1275 .lcomm tokenCount,1 |
1276 .data |
GAS LISTING /tmp/ccs6Vjbf.s page 40 |
|
|
1277 .type receivedCmd, @object |
1278 .size receivedCmd, 1 |
1279 receivedCmd: |
1280 0000 08 .byte 8 |
1281 .lcomm charCount,1 |
1282 .lcomm charIndex,1 |
1283 .type AVRcamVersion, @object |
1284 .size AVRcamVersion, 13 |
1285 AVRcamVersion: |
1286 0001 4156 5263 .string "AVRcam v1.4\r" |
1286 616D 2076 |
1286 312E 340D |
1286 00 |
1287 .lcomm asciiTokenBuffer,4 |
1288 .lcomm tokenBuffer,64 |
1289 .comm UIMgr_rxFifo,32,1 |
1290 .comm UIMgr_txFifo,64,1 |
1291 .stabs "charCount:S(0,11)",38,0,92,charCount |
1292 .stabs "charIndex:S(0,11)",38,0,93,charIndex |
1293 .stabs "asciiTokenBuffer:S(0,21)=ar(0,22)=r(0,22);0;0177777;;0;3;(0,11)",40,0,94,asciiTokenBuffer |
1294 .stabs "tokenCount:S(0,11)",38,0,95,tokenCount |
1295 .stabs "tokenBuffer:S(0,23)=ar(0,22);0;63;(0,11)",40,0,96,tokenBuffer |
1296 .stabs "receivedCmd:S(0,17)",38,0,97,receivedCmd |
1297 .stabs "AVRcamVersion:S(0,24)=ar(0,22);0;12;(0,11)",38,0,98,AVRcamVersion |
1298 .stabs "UIMgr_rxFifo:G(0,25)=ar(0,22);0;31;(0,11)",32,0,111,0 |
1299 .stabs "UIMgr_rxFifoHead:G(0,11)",32,0,112,0 |
1300 .stabs "UIMgr_rxFifoTail:G(0,11)",32,0,113,0 |
1301 .stabs "UIMgr_txFifo:G(0,23)",32,0,115,0 |
1302 .stabs "UIMgr_txFifoHead:G(0,11)",32,0,116,0 |
1303 .stabs "UIMgr_txFifoTail:G(0,11)",32,0,117,0 |
1304 .text |
1305 .stabs "",100,0,0,.Letext0 |
1306 .Letext0: |
1307 /* File "UIMgr.c": code 609 = 0x0261 ( 570), prologues 16, epilogues 23 */ |
GAS LISTING /tmp/ccs6Vjbf.s page 41 |
|
|
DEFINED SYMBOLS |
*ABS*:00000000 UIMgr.c |
/tmp/ccRvT1Qm.s:3 *ABS*:0000003f __SREG__ |
/tmp/ccRvT1Qm.s:4 *ABS*:0000003e __SP_H__ |
/tmp/ccRvT1Qm.s:5 *ABS*:0000003d __SP_L__ |
/tmp/ccRvT1Qm.s:6 *ABS*:00000000 __tmp_reg__ |
/tmp/ccRvT1Qm.s:7 *ABS*:00000001 __zero_reg__ |
/tmp/ccRvT1Qm.s:94 .text:00000000 UIMgr_writeBufferToTxFifo |
/tmp/ccs6Vjbf.s:2 *ABS*:0000003f __SREG__ |
/tmp/ccs6Vjbf.s:3 *ABS*:0000003e __SP_H__ |
/tmp/ccs6Vjbf.s:4 *ABS*:0000003d __SP_L__ |
/tmp/ccs6Vjbf.s:5 *ABS*:00000000 __tmp_reg__ |
/tmp/ccs6Vjbf.s:6 *ABS*:00000001 __zero_reg__ |
/tmp/ccs6Vjbf.s:93 .text:00000000 UIMgr_writeBufferToTxFifo |
/tmp/ccs6Vjbf.s:1267 .bss:00000002 UIMgr_txFifoHead |
*COM*:00000040 UIMgr_txFifo |
/tmp/ccRvT1Qm.s:1208 .bss:00000002 UIMgr_txFifoHead |
/tmp/ccRvT1Qm.s:159 .text:0000003c UIMgr_readTxFifo |
/tmp/ccRvT1Qm.s:1214 .bss:00000003 UIMgr_txFifoTail |
/tmp/ccRvT1Qm.s:206 .text:0000005a UIMgr_writeTxFifo |
/tmp/ccRvT1Qm.s:246 .text:00000076 UIMgr_flushTxBuffer |
/tmp/ccRvT1Qm.s:284 .text:00000094 UIMgr_txBuffer |
/tmp/ccRvT1Qm.s:333 .text:000000c2 UIMgr_transmitPendingData |
/tmp/ccRvT1Qm.s:361 .text:000000d4 UIMgr_convertTokenToCmd |
/tmp/ccRvT1Qm.s:1223 .bss:00000007 asciiTokenBuffer |
/tmp/ccRvT1Qm.s:1220 .data:00000000 receivedCmd |
/tmp/ccRvT1Qm.s:1222 .bss:00000006 charIndex |
/tmp/ccRvT1Qm.s:1216 .bss:00000005 charCount |
/tmp/ccRvT1Qm.s:503 .text:00000192 UIMgr_init |
/tmp/ccRvT1Qm.s:1228 .bss:0000000b tokenBuffer |
/tmp/ccs6Vjbf.s:158 .text:00000034 UIMgr_readTxFifo |
/tmp/ccs6Vjbf.s:1273 .bss:00000003 UIMgr_txFifoTail |
/tmp/ccs6Vjbf.s:206 .text:00000052 UIMgr_writeTxFifo |
/tmp/ccs6Vjbf.s:247 .text:0000006e UIMgr_flushTxBuffer |
/tmp/ccs6Vjbf.s:286 .text:0000008c UIMgr_txBuffer |
/tmp/ccs6Vjbf.s:327 .text:000000ac UIMgr_transmitPendingData |
/tmp/ccs6Vjbf.s:356 .text:000000be UIMgr_convertTokenToCmd |
/tmp/ccs6Vjbf.s:1282 .bss:00000007 asciiTokenBuffer |
/tmp/ccs6Vjbf.s:1279 .data:00000000 receivedCmd |
/tmp/ccs6Vjbf.s:1281 .bss:00000006 charIndex |
/tmp/ccs6Vjbf.s:1275 .bss:00000005 charCount |
/tmp/ccs6Vjbf.s:499 .text:0000017c UIMgr_init |
/tmp/ccs6Vjbf.s:1287 .bss:0000000b tokenBuffer |
*COM*:00000020 UIMgr_rxFifo |
/tmp/ccRvT1Qm.s:549 .text:000001c8 UIMgr_convertTokenToValue |
/tmp/ccs6Vjbf.s:546 .text:000001b2 UIMgr_convertTokenToValue |
.bss:00000004 tokenCount |
/tmp/ccRvT1Qm.s:619 .text:00000214 UIMgr_processReceivedData |
/tmp/ccRvT1Qm.s:1202 .bss:00000001 UIMgr_rxFifoTail |
/tmp/ccRvT1Qm.s:1226 .data:00000001 AVRcamVersion |
/tmp/ccRvT1Qm.s:1196 .bss:00000000 UIMgr_rxFifoHead |
/tmp/ccRvT1Qm.s:1150 .text:00000442 UIMgr_dispatchEvent |
/tmp/ccs6Vjbf.s:617 .text:000001fe UIMgr_processReceivedData |
/tmp/ccs6Vjbf.s:1285 .data:00000001 AVRcamVersion |
/tmp/ccs6Vjbf.s:1261 .bss:00000001 UIMgr_rxFifoTail |
/tmp/ccs6Vjbf.s:1255 .bss:00000000 UIMgr_rxFifoHead |
/tmp/ccs6Vjbf.s:1208 .text:00000476 UIMgr_dispatchEvent |
|
UNDEFINED SYMBOLS |
__do_copy_data |
2353,11 → 2415,11 |
__do_clear_bss |
UartInt_txByte |
atoi |
colorMap |
Utility_delay |
Exec_writeEventFifo |
CamInt_resetCam |
CamConfig_setCamReg |
CamConfig_sendFifoCmds |
colorMap |
__eeprom_read_byte_1C1D1E |
__eeprom_write_byte_1C1D1E |