Rev 410 | Blame | Compare with Previous | Last modification | View Log | Download
GAS LISTING /tmp/ccYEZtaB.s page 11 .file "Executive.c"2 __SREG__ = 0x3f3 __SP_H__ = 0x3e4 __SP_L__ = 0x3d5 __tmp_reg__ = 06 __zero_reg__ = 17 .global __do_copy_data8 .global __do_clear_bss9 .stabs "/home/kaklik/projects/programy/C/avr/AVRcam/",100,0,2,.Ltext010 .stabs "Executive.c",100,0,2,.Ltext011 .text12 .Ltext0:13 .stabs "gcc2_compiled.",60,0,0,014 .stabs "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,015 .stabs "char:t(0,2)=@s8;r(0,2);0;255;",128,0,0,016 .stabs "long int:t(0,3)=@s32;r(0,3);020000000000;017777777777;",128,0,0,017 .stabs "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,018 .stabs "long unsigned int:t(0,5)=@s32;r(0,5);0;037777777777;",128,0,0,019 .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,021 .stabs "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,022 .stabs "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,023 .stabs "signed char:t(0,10)=@s8;r(0,10);-128;127;",128,0,0,024 .stabs "unsigned char:t(0,11)=@s8;r(0,11);0;255;",128,0,0,025 .stabs "float:t(0,12)=r(0,1);4;0;",128,0,0,026 .stabs "double:t(0,13)=r(0,1);4;0;",128,0,0,027 .stabs "long double:t(0,14)=r(0,1);4;0;",128,0,0,028 .stabs "void:t(0,15)=(0,15)",128,0,0,029 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdlib.h",130,0,0,030 .stabs "/usr/lib/gcc/avr/4.2.1/include/stddef.h",130,0,0,031 .stabs "size_t:t(2,1)=(0,4)",128,0,214,032 .stabs "wchar_t:t(2,2)=(0,1)",128,0,326,033 .stabn 162,0,0,034 .stabs "div_t:t(1,1)=(1,2)=s4quot:(0,1),0,16;rem:(0,1),16,16;;",128,0,69,035 .stabs "ldiv_t:t(1,3)=(1,4)=s8quot:(0,3),0,32;rem:(0,3),32,32;;",128,0,75,036 .stabs "__compar_fn_t:t(1,5)=(1,6)=*(1,7)=f(0,1)",128,0,78,037 .stabn 162,0,0,038 .stabs "CommonDefs.h",130,0,0,039 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/interrupt.h",130,0,0,040 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/io.h",130,0,0,041 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/avr/sfr_defs.h",130,0,0,042 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/inttypes.h",130,0,0,043 .stabs "/usr/lib/gcc/avr/4.2.1/../../../../avr/include/stdint.h",130,0,0,044 .stabs "int8_t:t(8,1)=(0,10)",128,0,116,045 .stabs "uint8_t:t(8,2)=(0,11)",128,0,117,046 .stabs "int16_t:t(8,3)=(0,1)",128,0,118,047 .stabs "uint16_t:t(8,4)=(0,4)",128,0,119,048 .stabs "int32_t:t(8,5)=(0,3)",128,0,120,049 .stabs "uint32_t:t(8,6)=(0,5)",128,0,121,050 .stabs "int64_t:t(8,7)=(0,6)",128,0,122,051 .stabs "uint64_t:t(8,8)=(0,7)",128,0,123,052 .stabs "intptr_t:t(8,9)=(8,3)",128,0,135,053 .stabs "uintptr_t:t(8,10)=(8,4)",128,0,140,054 .stabs "int_least8_t:t(8,11)=(8,1)",128,0,152,055 .stabs "uint_least8_t:t(8,12)=(8,2)",128,0,157,056 .stabs "int_least16_t:t(8,13)=(8,3)",128,0,162,057 .stabs "uint_least16_t:t(8,14)=(8,4)",128,0,167,0GAS LISTING /tmp/ccYEZtaB.s page 258 .stabs "int_least32_t:t(8,15)=(8,5)",128,0,172,059 .stabs "uint_least32_t:t(8,16)=(8,6)",128,0,177,060 .stabs "int_least64_t:t(8,17)=(8,7)",128,0,182,061 .stabs "uint_least64_t:t(8,18)=(8,8)",128,0,187,062 .stabs "int_fast8_t:t(8,19)=(8,1)",128,0,200,063 .stabs "uint_fast8_t:t(8,20)=(8,2)",128,0,205,064 .stabs "int_fast16_t:t(8,21)=(8,3)",128,0,210,065 .stabs "uint_fast16_t:t(8,22)=(8,4)",128,0,215,066 .stabs "int_fast32_t:t(8,23)=(8,5)",128,0,220,067 .stabs "uint_fast32_t:t(8,24)=(8,6)",128,0,225,068 .stabs "int_fast64_t:t(8,25)=(8,7)",128,0,230,069 .stabs "uint_fast64_t:t(8,26)=(8,8)",128,0,235,070 .stabs "intmax_t:t(8,27)=(8,7)",128,0,249,071 .stabs "uintmax_t:t(8,28)=(8,8)",128,0,254,072 .stabn 162,0,0,073 .stabs "int_farptr_t:t(7,1)=(8,5)",128,0,76,074 .stabs "uint_farptr_t:t(7,2)=(8,6)",128,0,80,075 .stabn 162,0,0,076 .stabn 162,0,0,077 .stabn 162,0,0,078 .stabn 162,0,0,079 .stabs "bool_t:t(3,1)=(0,11)",128,0,56,080 .stabn 162,0,0,081 .stabs "CamConfig.h",130,0,0,082 .stabs "I2CInterface.h",130,0,0,083 .stabs "i2cCmd_t:t(10,1)=(10,2)=s2configReg:(0,11),0,8;data:(0,11),8,8;;",128,0,53,084 .stabn 162,0,0,085 .stabn 162,0,0,086 .stabs "Exec_writeEventFifo:F(0,15)",36,0,208,Exec_writeEventFifo87 .stabs "event:P(0,11)",64,0,207,2488 .global Exec_writeEventFifo89 .type Exec_writeEventFifo, @function90 Exec_writeEventFifo:91 .stabd 46,0,01:Executive.c **** /*2:Executive.c **** Copyright (C) 2004 John Orlando3:Executive.c ****4:Executive.c **** AVRcam: a small real-time image processing engine.5:Executive.c ****6:Executive.c **** This program is free software; you can redistribute it and/or7:Executive.c **** modify it under the terms of the GNU General Public8:Executive.c **** License as published by the Free Software Foundation; either9:Executive.c **** version 2 of the License, or (at your option) any later version.10:Executive.c ****11:Executive.c **** This program is distributed in the hope that it will be useful,12:Executive.c **** but WITHOUT ANY WARRANTY; without even the implied warranty of13:Executive.c **** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU14:Executive.c **** General Public License for more details.15:Executive.c ****16:Executive.c **** You should have received a copy of the GNU General Public17:Executive.c **** License along with this program; if not, write to the Free Software18:Executive.c **** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA19:Executive.c ****20:Executive.c **** For more information on the AVRcam, please contact:21:Executive.c ****22:Executive.c **** john@jrobot.net23:Executive.c ****GAS LISTING /tmp/ccYEZtaB.s page 324:Executive.c **** or go to www.jrobot.net for more details regarding the system.25:Executive.c **** */26:Executive.c **** /***********************************************************27:Executive.c **** Module Name: Executive.c28:Executive.c **** Module Date: 04/12/200429:Executive.c **** Module Auth: John Orlando30:Executive.c ****31:Executive.c **** Description: This file is responsible for implementing a32:Executive.c **** minimalist event dispatcher. It keeps track of an event33:Executive.c **** fifo that waits for new events to come in, and dispatches34:Executive.c **** them to any entities that care about them.35:Executive.c ****36:Executive.c **** Revision History:37:Executive.c **** Date Rel Ver. Notes38:Executive.c **** 4/10/2004 0.1 Module created39:Executive.c **** 6/30/2004 1.0 Initial release for Circuit Cellar40:Executive.c **** contest.41:Executive.c **** 1/16/2005 1.4 Fixed issue where the interrupts weren't42:Executive.c **** being turned off when the fastEventBitmask43:Executive.c **** was being accessed. Also removed redundant44:Executive.c **** interrupt masking when accessing the45:Executive.c **** main event fifo. Also fixed issue where46:Executive.c **** the main event fifo wasn't being checked47:Executive.c **** for events if an event was pending in48:Executive.c **** the fast event fifo.49:Executive.c **** ***********************************************************/50:Executive.c ****51:Executive.c **** /* Includes */52:Executive.c **** #include <stdlib.h>53:Executive.c **** #include "CommonDefs.h"54:Executive.c **** #include "Executive.h"55:Executive.c **** #include "FrameMgr.h"56:Executive.c **** #include "CamInterface.h"57:Executive.c **** #include "UIMgr.h"58:Executive.c **** #include "UartInterface.h"59:Executive.c **** #include "CamConfig.h"60:Executive.c **** #include "Utility.h"61:Executive.c ****62:Executive.c **** /* Local Variables */63:Executive.c **** unsigned char Exec_eventFifo[EXEC_EVENT_FIFO_SIZE];64:Executive.c **** unsigned char Exec_eventFifoHead=0;65:Executive.c **** unsigned char Exec_eventFifoTail=0;66:Executive.c ****67:Executive.c **** /* Local Function Definitions */68:Executive.c **** static unsigned char Exec_readEventFifo(void);69:Executive.c ****70:Executive.c **** /* Local Structures and Typedefs */71:Executive.c ****72:Executive.c **** /* Extern Variables */73:Executive.c **** /* This bitmask holds events that need to be processed as fast as possible */74:Executive.c **** unsigned char fastEventBitmask = 0x00;75:Executive.c ****76:Executive.c **** /* Definitions */77:Executive.c **** #define IS_DATA_IN_EVENT_FIFO() (!(Exec_eventFifoHead == Exec_eventFifoTail))78:Executive.c **** /***********************************************************79:Executive.c **** Function Name: Exec_run80:Executive.c **** Function Description: This function is responsible forGAS LISTING /tmp/ccYEZtaB.s page 481:Executive.c **** running the main control loop. The control loop is82:Executive.c **** based on checking both the fast-event bitmask (for high83:Executive.c **** priority events) and the event FIFO to determine if an84:Executive.c **** event needs to be handled. The event is then dispatched85:Executive.c **** to the appropriate handler.86:Executive.c **** Inputs: none87:Executive.c **** Outputs: none88:Executive.c **** ***********************************************************/89:Executive.c **** void Exec_run(void)90:Executive.c **** {91:Executive.c **** unsigned char eventGenerated;92:Executive.c ****93:Executive.c **** while(1)94:Executive.c **** {95:Executive.c **** if (fastEventBitmask)96:Executive.c **** {97:Executive.c **** /* an event needing fast processing has been received */98:Executive.c **** /* a received line needs to be processed...this99:Executive.c **** needs to be processed as quickly as possible */100:Executive.c **** if (fastEventBitmask & FEV_ACQUIRE_LINE_COMPLETE)101:Executive.c **** {102:Executive.c **** DISABLE_INTS();103:Executive.c **** fastEventBitmask &= ~FEV_ACQUIRE_LINE_COMPLETE;104:Executive.c **** ENABLE_INTS();105:Executive.c **** FrameMgr_processLine();106:Executive.c ****107:Executive.c **** /* also check if serial data needs to be sent108:Executive.c **** out through UIMgr */109:Executive.c **** UIMgr_transmitPendingData();110:Executive.c ****111:Executive.c **** /* we can't just call acquire line again here,112:Executive.c **** since we don't know if we need to acquire another113:Executive.c **** line or not (it depends on the FrameMgr to figure114:Executive.c **** this out) */115:Executive.c **** }116:Executive.c **** if (fastEventBitmask & FEV_PROCESS_LINE_COMPLETE)117:Executive.c **** {118:Executive.c **** DISABLE_INTS();119:Executive.c **** fastEventBitmask &= ~FEV_PROCESS_LINE_COMPLETE;120:Executive.c **** ENABLE_INTS();121:Executive.c **** FrameMgr_acquireLine();122:Executive.c **** }123:Executive.c **** }124:Executive.c ****125:Executive.c **** if (IS_DATA_IN_EVENT_FIFO() == TRUE)126:Executive.c **** {127:Executive.c **** eventGenerated = Exec_readEventFifo();128:Executive.c **** switch(eventGenerated)129:Executive.c **** {130:Executive.c **** case (EV_DUMP_FRAME):131:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);132:Executive.c **** break;133:Executive.c ****134:Executive.c **** case (EV_ENABLE_TRACKING):135:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);136:Executive.c **** break;137:Executive.c ****GAS LISTING /tmp/ccYEZtaB.s page 5138:Executive.c **** case (EV_DISABLE_TRACKING):139:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);140:Executive.c **** break;141:Executive.c ****142:Executive.c **** case (EV_ACQUIRE_LINE_COMPLETE):143:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);144:Executive.c **** UIMgr_dispatchEvent(eventGenerated);145:Executive.c **** break;146:Executive.c ****147:Executive.c **** case (EV_ACQUIRE_FRAME_COMPLETE):148:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);149:Executive.c **** break;150:Executive.c ****151:Executive.c **** case (EV_PROCESS_LINE_COMPLETE):152:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);153:Executive.c **** break;154:Executive.c ****155:Executive.c **** case (EV_PROCESS_FRAME_COMPLETE):156:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);157:Executive.c **** break;158:Executive.c ****159:Executive.c **** case (EV_SERIAL_DATA_RECEIVED):160:Executive.c **** UIMgr_dispatchEvent(eventGenerated);161:Executive.c **** FrameMgr_dispatchEvent(eventGenerated);162:Executive.c **** break;163:Executive.c ****164:Executive.c **** case (EV_SERIAL_DATA_PENDING_TX):165:Executive.c **** UIMgr_dispatchEvent(eventGenerated);166:Executive.c **** break;167:Executive.c ****168:Executive.c **** default:169:Executive.c **** break;170:Executive.c **** }171:Executive.c **** }172:Executive.c ****173:Executive.c **** /* toggle the debug line */174:Executive.c ****175:Executive.c **** }176:Executive.c **** }177:Executive.c ****178:Executive.c **** /***********************************************************179:Executive.c **** Function Name: Exec_readEventFifo180:Executive.c **** Function Description: This function is responsible for181:Executive.c **** reading a single event out of the event fifo.182:Executive.c **** Inputs: none183:Executive.c **** Outputs: unsigned char-the data read184:Executive.c **** ***********************************************************/185:Executive.c **** static unsigned char Exec_readEventFifo(void)186:Executive.c **** {187:Executive.c **** unsigned char dataByte, tmpTail;188:Executive.c ****189:Executive.c **** DISABLE_INTS();190:Executive.c **** /* just return the current tail from the tx fifo */191:Executive.c **** dataByte = Exec_eventFifo[Exec_eventFifoTail];192:Executive.c **** tmpTail = (Exec_eventFifoTail+1) & (EXEC_EVENT_FIFO_MASK);193:Executive.c **** Exec_eventFifoTail = tmpTail;194:Executive.c **** ENABLE_INTS();GAS LISTING /tmp/ccYEZtaB.s page 6195:Executive.c ****196:Executive.c **** return(dataByte);197:Executive.c **** }198:Executive.c ****199:Executive.c **** /***********************************************************200:Executive.c **** Function Name: Exec_writeEventFifo201:Executive.c **** Function Description: This function is responsible for202:Executive.c **** writing a single event to the event fifo and203:Executive.c **** updating the appropriate pointers.204:Executive.c **** Inputs: data - the byte to write to the Fifo205:Executive.c **** Outputs: none206:Executive.c **** ***********************************************************/207:Executive.c **** void Exec_writeEventFifo(unsigned char event)208:Executive.c **** {92 .stabn 68,0,208,.LM0-.LFBB193 .LM0:94 .LFBB1:95 /* prologue: frame size=0 */96 /* prologue end (size=0) */209:Executive.c **** unsigned char tmpHead;210:Executive.c ****211:Executive.c **** DISABLE_INTS();97 .stabn 68,0,211,.LM1-.LFBB198 .LM1:99 /* #APP */100 0000 F894 cli212:Executive.c **** Exec_eventFifo[Exec_eventFifoHead] = event;101 .stabn 68,0,212,.LM2-.LFBB1102 .LM2:103 /* #NOAPP */104 0002 9091 0000 lds r25,Exec_eventFifoHead105 0006 E0E0 ldi r30,lo8(Exec_eventFifo)106 0008 F0E0 ldi r31,hi8(Exec_eventFifo)107 000a E90F add r30,r25108 000c F11D adc r31,__zero_reg__109 000e 8083 st Z,r24213:Executive.c ****214:Executive.c **** /* now move the head up */215:Executive.c **** tmpHead = (Exec_eventFifoHead + 1) & (EXEC_EVENT_FIFO_MASK);216:Executive.c **** Exec_eventFifoHead = tmpHead;110 .stabn 68,0,216,.LM3-.LFBB1111 .LM3:112 0010 9F5F subi r25,lo8(-(1))113 0012 9770 andi r25,lo8(7)114 0014 9093 0000 sts Exec_eventFifoHead,r25217:Executive.c **** ENABLE_INTS();115 .stabn 68,0,217,.LM4-.LFBB1116 .LM4:117 /* #APP */118 0018 7894 sei119 /* #NOAPP */120 /* epilogue: frame size=0 */121 001a 0895 ret122 /* epilogue end (size=1) */123 /* function Exec_writeEventFifo size 16 (15) */124 .size Exec_writeEventFifo, .-Exec_writeEventFifo125 .Lscope1:GAS LISTING /tmp/ccYEZtaB.s page 7126 .stabs "",36,0,0,.Lscope1-.LFBB1127 .stabd 78,0,0128 .stabs "Exec_run:F(0,15)",36,0,90,Exec_run129 .global Exec_run130 .type Exec_run, @function131 Exec_run:132 .stabd 46,0,0133 .stabn 68,0,90,.LM5-.LFBB2134 .LM5:135 .LFBB2:136 /* prologue: frame size=0 */137 001c CF93 push r28138 001e DF93 push r29139 /* prologue end (size=2) */140 .LBB4:141 .LBB5:142 .stabn 68,0,191,.LM6-.LFBB2143 .LM6:144 0020 C0E0 ldi r28,lo8(Exec_eventFifo)145 0022 D0E0 ldi r29,hi8(Exec_eventFifo)146 .L28:147 .LBE5:148 .LBE4:149 .stabn 68,0,95,.LM7-.LFBB2150 .LM7:151 0024 8091 0000 lds r24,fastEventBitmask152 0028 8823 tst r24153 002a 01F0 breq .L6154 .stabn 68,0,100,.LM8-.LFBB2155 .LM8:156 002c 80FF sbrs r24,0157 002e 00C0 rjmp .L8158 .stabn 68,0,102,.LM9-.LFBB2159 .LM9:160 /* #APP */161 0030 F894 cli162 .stabn 68,0,103,.LM10-.LFBB2163 .LM10:164 /* #NOAPP */165 0032 8E7F andi r24,lo8(-2)166 0034 8093 0000 sts fastEventBitmask,r24167 .stabn 68,0,104,.LM11-.LFBB2168 .LM11:169 /* #APP */170 0038 7894 sei171 .stabn 68,0,105,.LM12-.LFBB2172 .LM12:173 /* #NOAPP */174 003a 00D0 rcall FrameMgr_processLine175 .stabn 68,0,109,.LM13-.LFBB2176 .LM13:177 003c 00D0 rcall UIMgr_transmitPendingData178 .L8:179 .stabn 68,0,116,.LM14-.LFBB2180 .LM14:181 003e 8091 0000 lds r24,fastEventBitmask182 0042 81FF sbrs r24,1GAS LISTING /tmp/ccYEZtaB.s page 8183 0044 00C0 rjmp .L6184 .stabn 68,0,118,.LM15-.LFBB2185 .LM15:186 /* #APP */187 0046 F894 cli188 .stabn 68,0,119,.LM16-.LFBB2189 .LM16:190 /* #NOAPP */191 0048 8D7F andi r24,lo8(-3)192 004a 8093 0000 sts fastEventBitmask,r24193 .stabn 68,0,120,.LM17-.LFBB2194 .LM17:195 /* #APP */196 004e 7894 sei197 .stabn 68,0,121,.LM18-.LFBB2198 .LM18:199 /* #NOAPP */200 0050 00D0 rcall FrameMgr_acquireLine201 .L6:202 .stabn 68,0,125,.LM19-.LFBB2203 .LM19:204 0052 9091 0000 lds r25,Exec_eventFifoTail205 0056 8091 0000 lds r24,Exec_eventFifoHead206 005a 8917 cp r24,r25207 005c 01F0 breq .L28208 .LBB7:209 .LBB6:210 .stabn 68,0,189,.LM20-.LFBB2211 .LM20:212 /* #APP */213 005e F894 cli214 .stabn 68,0,191,.LM21-.LFBB2215 .LM21:216 /* #NOAPP */217 0060 FE01 movw r30,r28218 0062 E90F add r30,r25219 0064 F11D adc r31,__zero_reg__220 0066 E081 ld r30,Z221 .stabn 68,0,193,.LM22-.LFBB2222 .LM22:223 0068 892F mov r24,r25224 006a 8F5F subi r24,lo8(-(1))225 006c 8770 andi r24,lo8(7)226 006e 8093 0000 sts Exec_eventFifoTail,r24227 .stabn 68,0,194,.LM23-.LFBB2228 .LM23:229 /* #APP */230 0072 7894 sei231 /* #NOAPP */232 .LBE6:233 .LBE7:234 .stabn 68,0,128,.LM24-.LFBB2235 .LM24:236 0074 E031 cpi r30,lo8(16)237 0076 01F0 breq .L16238 0078 E131 cpi r30,lo8(17)239 007a 00F4 brsh .L21GAS LISTING /tmp/ccYEZtaB.s page 9240 007c E230 cpi r30,lo8(2)241 007e 01F0 breq .L13242 0080 E330 cpi r30,lo8(3)243 0082 00F4 brsh .L22244 0084 E130 cpi r30,lo8(1)245 0086 01F4 brne .L28246 0088 00C0 rjmp .L12247 .L22:248 008a E430 cpi r30,lo8(4)249 008c 01F0 breq .L14250 008e E830 cpi r30,lo8(8)251 0090 01F4 brne .L28252 0092 00C0 rjmp .L15253 .L21:254 0094 E038 cpi r30,lo8(-128)255 0096 01F0 breq .L18256 0098 E138 cpi r30,lo8(-127)257 009a 00F4 brsh .L23258 009c E032 cpi r30,lo8(32)259 009e 01F0 breq .+2260 00a0 00C0 rjmp .L28261 00a2 00C0 rjmp .L17262 .L23:263 00a4 E138 cpi r30,lo8(-127)264 00a6 01F0 breq .L19265 00a8 E039 cpi r30,lo8(-112)266 00aa 01F0 breq .+2267 00ac 00C0 rjmp .L28268 00ae 00C0 rjmp .L20269 .L13:270 .stabn 68,0,131,.LM25-.LFBB2271 .LM25:272 00b0 82E0 ldi r24,lo8(2)273 00b2 00D0 rcall FrameMgr_dispatchEvent274 00b4 00C0 rjmp .L28275 .L18:276 .stabn 68,0,135,.LM26-.LFBB2277 .LM26:278 00b6 80E8 ldi r24,lo8(-128)279 00b8 00D0 rcall FrameMgr_dispatchEvent280 00ba 00C0 rjmp .L28281 .L19:282 .stabn 68,0,139,.LM27-.LFBB2283 .LM27:284 00bc 81E8 ldi r24,lo8(-127)285 00be 00D0 rcall FrameMgr_dispatchEvent286 00c0 00C0 rjmp .L28287 .L16:288 .stabn 68,0,143,.LM28-.LFBB2289 .LM28:290 00c2 80E1 ldi r24,lo8(16)291 00c4 00D0 rcall FrameMgr_dispatchEvent292 .stabn 68,0,144,.LM29-.LFBB2293 .LM29:294 00c6 80E1 ldi r24,lo8(16)295 00c8 00D0 rcall UIMgr_dispatchEvent296 00ca 00C0 rjmp .L28GAS LISTING /tmp/ccYEZtaB.s page 10297 .L17:298 .stabn 68,0,148,.LM30-.LFBB2299 .LM30:300 00cc 80E2 ldi r24,lo8(32)301 00ce 00D0 rcall FrameMgr_dispatchEvent302 00d0 00C0 rjmp .L28303 .L15:304 .stabn 68,0,152,.LM31-.LFBB2305 .LM31:306 00d2 88E0 ldi r24,lo8(8)307 00d4 00D0 rcall FrameMgr_dispatchEvent308 00d6 00C0 rjmp .L28309 .L14:310 .stabn 68,0,156,.LM32-.LFBB2311 .LM32:312 00d8 84E0 ldi r24,lo8(4)313 00da 00D0 rcall FrameMgr_dispatchEvent314 00dc 00C0 rjmp .L28315 .L12:316 .stabn 68,0,160,.LM33-.LFBB2317 .LM33:318 00de 81E0 ldi r24,lo8(1)319 00e0 00D0 rcall UIMgr_dispatchEvent320 .stabn 68,0,161,.LM34-.LFBB2321 .LM34:322 00e2 81E0 ldi r24,lo8(1)323 00e4 00D0 rcall FrameMgr_dispatchEvent324 00e6 00C0 rjmp .L28325 .L20:326 .stabn 68,0,165,.LM35-.LFBB2327 .LM35:328 00e8 80E9 ldi r24,lo8(-112)329 00ea 00D0 rcall UIMgr_dispatchEvent330 00ec 00C0 rjmp .L28331 /* epilogue: frame size=0 */332 /* epilogue: noreturn */333 /* epilogue end (size=0) */334 /* function Exec_run size 111 (109) */335 .size Exec_run, .-Exec_run336 .stabs "dataByte:r(0,11)",64,0,187,30337 .stabn 192,0,0,.LBB5-.LFBB2338 .stabn 224,0,0,.LBE5-.LFBB2339 .stabs "dataByte:r(0,11)",64,0,187,30340 .stabn 192,0,0,.LBB6-.LFBB2341 .stabn 224,0,0,.LBE6-.LFBB2342 .Lscope2:343 .stabs "",36,0,0,.Lscope2-.LFBB2344 .stabd 78,0,0345 .global Exec_eventFifoHead346 .global Exec_eventFifoHead347 .section .bss348 .type Exec_eventFifoHead, @object349 .size Exec_eventFifoHead, 1350 Exec_eventFifoHead:351 0000 00 .skip 1,0352 .global Exec_eventFifoTail353 .global Exec_eventFifoTailGAS LISTING /tmp/ccYEZtaB.s page 11354 .type Exec_eventFifoTail, @object355 .size Exec_eventFifoTail, 1356 Exec_eventFifoTail:357 0001 00 .skip 1,0358 .global fastEventBitmask359 .global fastEventBitmask360 .type fastEventBitmask, @object361 .size fastEventBitmask, 1362 fastEventBitmask:363 0002 00 .skip 1,0364 .comm Exec_eventFifo,8,1365 .stabs "fastEventBitmask:G(0,11)",32,0,74,0366 .stabs "Exec_eventFifo:G(0,16)=ar(0,17)=r(0,17);0;0177777;;0;7;(0,11)",32,0,63,0367 .stabs "Exec_eventFifoHead:G(0,11)",32,0,64,0368 .stabs "Exec_eventFifoTail:G(0,11)",32,0,65,0369 .text370 .stabs "",100,0,0,.Letext0371 .Letext0:372 /* File "Executive.c": code 127 = 0x007f ( 124), prologues 2, epilogues 1 */GAS LISTING /tmp/ccYEZtaB.s page 12DEFINED SYMBOLS*ABS*:00000000 Executive.c/tmp/ccYEZtaB.s:2 *ABS*:0000003f __SREG__/tmp/ccYEZtaB.s:3 *ABS*:0000003e __SP_H__/tmp/ccYEZtaB.s:4 *ABS*:0000003d __SP_L__/tmp/ccYEZtaB.s:5 *ABS*:00000000 __tmp_reg__/tmp/ccYEZtaB.s:6 *ABS*:00000001 __zero_reg__/tmp/ccYEZtaB.s:90 .text:00000000 Exec_writeEventFifo/tmp/ccYEZtaB.s:350 .bss:00000000 Exec_eventFifoHead*COM*:00000008 Exec_eventFifo/tmp/ccYEZtaB.s:131 .text:0000001c Exec_run/tmp/ccYEZtaB.s:362 .bss:00000002 fastEventBitmask/tmp/ccYEZtaB.s:356 .bss:00000001 Exec_eventFifoTailUNDEFINED SYMBOLS__do_copy_data__do_clear_bssFrameMgr_processLineUIMgr_transmitPendingDataFrameMgr_acquireLineFrameMgr_dispatchEventUIMgr_dispatchEvent