GAS LISTING /tmp/ccaRnYSb.s page 1 1 .file "condition.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text.NutConditionInit,"ax",@progbits 9 .global NutConditionInit 10 .type NutConditionInit, @function 11 NutConditionInit: 12 /* prologue: function */ 13 /* frame size = 0 */ 14 /* stack size = 0 */ 15 .L__stack_usage = 0 16 0000 68E0 ldi r22,lo8(8) 17 0002 70E0 ldi r23,0 18 0004 80E0 ldi r24,lo8(heapFreeList) 19 0006 90E0 ldi r25,hi8(heapFreeList) 20 0008 0E94 0000 call NutHeapRootAlloc 21 000c 0097 sbiw r24,0 22 000e 01F0 breq .L3 23 0010 0296 adiw r24,2 24 0012 0E94 0000 call NutMutexInit 25 0016 80E0 ldi r24,0 26 0018 90E0 ldi r25,0 27 001a 0895 ret 28 .L3: 29 001c 81E0 ldi r24,lo8(1) 30 001e 90E0 ldi r25,0 31 0020 0895 ret 32 .size NutConditionInit, .-NutConditionInit 33 .section .text.NutConditionLock,"ax",@progbits 34 .global NutConditionLock 35 .type NutConditionLock, @function 36 NutConditionLock: 37 /* prologue: function */ 38 /* frame size = 0 */ 39 /* stack size = 0 */ 40 .L__stack_usage = 0 41 0000 0097 sbiw r24,0 42 0002 01F0 breq .L5 43 0004 0296 adiw r24,2 44 0006 0C94 0000 jmp NutMutexLock 45 .L5: 46 000a 0895 ret 47 .size NutConditionLock, .-NutConditionLock 48 .section .text.NutConditionUnlock,"ax",@progbits 49 .global NutConditionUnlock 50 .type NutConditionUnlock, @function 51 NutConditionUnlock: 52 /* prologue: function */ 53 /* frame size = 0 */ 54 /* stack size = 0 */ 55 .L__stack_usage = 0 56 0000 0097 sbiw r24,0 57 0002 01F0 breq .L7 GAS LISTING /tmp/ccaRnYSb.s page 2 58 0004 0296 adiw r24,2 59 0006 0C94 0000 jmp NutMutexUnlock 60 .L7: 61 000a 0895 ret 62 .size NutConditionUnlock, .-NutConditionUnlock 63 .section .text.NutConditionWait,"ax",@progbits 64 .global NutConditionWait 65 .type NutConditionWait, @function 66 NutConditionWait: 67 0000 0F93 push r16 68 0002 1F93 push r17 69 0004 CF93 push r28 70 0006 DF93 push r29 71 /* prologue: function */ 72 /* frame size = 0 */ 73 /* stack size = 4 */ 74 .L__stack_usage = 4 75 0008 EC01 movw r28,r24 76 000a 0097 sbiw r24,0 77 000c 01F0 breq .L11 78 000e 8C01 movw r16,r24 79 0010 0E5F subi r16,-2 80 0012 1F4F sbci r17,-1 81 0014 C801 movw r24,r16 82 0016 0E94 0000 call NutMutexUnlock 83 001a 40E0 ldi r20,0 84 001c 50E0 ldi r21,0 85 001e BA01 movw r22,r20 86 0020 8881 ld r24,Y 87 0022 9981 ldd r25,Y+1 88 0024 0E94 0000 call NutEventWait 89 0028 C801 movw r24,r16 90 002a 0E94 0000 call NutMutexLock 91 002e 80E0 ldi r24,0 92 0030 90E0 ldi r25,0 93 0032 00C0 rjmp .L10 94 .L11: 95 0034 8FEF ldi r24,lo8(-1) 96 0036 9FEF ldi r25,lo8(-1) 97 .L10: 98 /* epilogue start */ 99 0038 DF91 pop r29 100 003a CF91 pop r28 101 003c 1F91 pop r17 102 003e 0F91 pop r16 103 0040 0895 ret 104 .size NutConditionWait, .-NutConditionWait 105 .section .text.NutConditionTimedWait,"ax",@progbits 106 .global NutConditionTimedWait 107 .type NutConditionTimedWait, @function 108 NutConditionTimedWait: 109 0000 AF92 push r10 110 0002 BF92 push r11 111 0004 CF92 push r12 112 0006 DF92 push r13 113 0008 EF92 push r14 114 000a FF92 push r15 GAS LISTING /tmp/ccaRnYSb.s page 3 115 000c 0F93 push r16 116 000e 1F93 push r17 117 0010 CF93 push r28 118 0012 DF93 push r29 119 0014 00D0 rcall . 120 0016 1F92 push __zero_reg__ 121 0018 CDB7 in r28,__SP_L__ 122 001a DEB7 in r29,__SP_H__ 123 /* prologue: function */ 124 /* frame size = 4 */ 125 /* stack size = 14 */ 126 .L__stack_usage = 14 127 001c 5C01 movw r10,r24 128 001e 6A01 movw r12,r20 129 0020 7B01 movw r14,r22 130 0022 892B or r24,r25 131 0024 01F4 brne .L13 132 .L15: 133 0026 8FEF ldi r24,lo8(-1) 134 0028 9FEF ldi r25,lo8(-1) 135 002a 00C0 rjmp .L14 136 .L13: 137 002c 0E94 0000 call NutGetMillis 138 0030 9701 movw r18,r14 139 0032 8601 movw r16,r12 140 0034 061B sub r16,r22 141 0036 170B sbc r17,r23 142 0038 280B sbc r18,r24 143 003a 390B sbc r19,r25 144 003c B901 movw r22,r18 145 003e A801 movw r20,r16 146 0040 37FD sbrc r19,7 147 0042 00C0 rjmp .L15 148 0044 7501 movw r14,r10 149 0046 12E0 ldi r17,2 150 0048 E10E add r14,r17 151 004a F11C adc r15,__zero_reg__ 152 004c C701 movw r24,r14 153 004e 4983 std Y+1,r20 154 0050 5A83 std Y+2,r21 155 0052 6B83 std Y+3,r22 156 0054 7C83 std Y+4,r23 157 0056 0E94 0000 call NutMutexUnlock 158 005a 4981 ldd r20,Y+1 159 005c 5A81 ldd r21,Y+2 160 005e 6B81 ldd r22,Y+3 161 0060 7C81 ldd r23,Y+4 162 0062 C501 movw r24,r10 163 0064 0E94 0000 call NutEventWait 164 0068 C701 movw r24,r14 165 006a 0E94 0000 call NutMutexLock 166 006e 80E0 ldi r24,0 167 0070 90E0 ldi r25,0 168 .L14: 169 /* epilogue start */ 170 0072 0F90 pop __tmp_reg__ 171 0074 0F90 pop __tmp_reg__ GAS LISTING /tmp/ccaRnYSb.s page 4 172 0076 0F90 pop __tmp_reg__ 173 0078 0F90 pop __tmp_reg__ 174 007a DF91 pop r29 175 007c CF91 pop r28 176 007e 1F91 pop r17 177 0080 0F91 pop r16 178 0082 FF90 pop r15 179 0084 EF90 pop r14 180 0086 DF90 pop r13 181 0088 CF90 pop r12 182 008a BF90 pop r11 183 008c AF90 pop r10 184 008e 0895 ret 185 .size NutConditionTimedWait, .-NutConditionTimedWait 186 .section .text.NutConditionSignal,"ax",@progbits 187 .global NutConditionSignal 188 .type NutConditionSignal, @function 189 NutConditionSignal: 190 /* prologue: function */ 191 /* frame size = 0 */ 192 /* stack size = 0 */ 193 .L__stack_usage = 0 194 0000 0097 sbiw r24,0 195 0002 01F0 breq .L17 196 0004 0C94 0000 jmp NutEventPost 197 .L17: 198 0008 8FEF ldi r24,lo8(-1) 199 000a 9FEF ldi r25,lo8(-1) 200 000c 0895 ret 201 .size NutConditionSignal, .-NutConditionSignal 202 .section .text.NutConditionBroadcast,"ax",@progbits 203 .global NutConditionBroadcast 204 .type NutConditionBroadcast, @function 205 NutConditionBroadcast: 206 /* prologue: function */ 207 /* frame size = 0 */ 208 /* stack size = 0 */ 209 .L__stack_usage = 0 210 0000 0097 sbiw r24,0 211 0002 01F0 breq .L19 212 0004 0C94 0000 jmp NutEventBroadcast 213 .L19: 214 0008 8FEF ldi r24,lo8(-1) 215 000a 9FEF ldi r25,lo8(-1) 216 000c 0895 ret 217 .size NutConditionBroadcast, .-NutConditionBroadcast 218 .section .text.NutConditionFree,"ax",@progbits 219 .global NutConditionFree 220 .type NutConditionFree, @function 221 NutConditionFree: 222 0000 CF93 push r28 223 0002 DF93 push r29 224 /* prologue: function */ 225 /* frame size = 0 */ 226 /* stack size = 2 */ 227 .L__stack_usage = 2 228 0004 EC01 movw r28,r24 GAS LISTING /tmp/ccaRnYSb.s page 5 229 0006 0296 adiw r24,2 230 0008 0E94 0000 call NutMutexDestroy 231 000c BE01 movw r22,r28 232 000e 80E0 ldi r24,lo8(heapFreeList) 233 0010 90E0 ldi r25,hi8(heapFreeList) 234 /* epilogue start */ 235 0012 DF91 pop r29 236 0014 CF91 pop r28 237 0016 0C94 0000 jmp NutHeapRootFree 238 .size NutConditionFree, .-NutConditionFree 239 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccaRnYSb.s page 6 DEFINED SYMBOLS *ABS*:0000000000000000 condition.c /tmp/ccaRnYSb.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccaRnYSb.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccaRnYSb.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccaRnYSb.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccaRnYSb.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccaRnYSb.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccaRnYSb.s:11 .text.NutConditionInit:0000000000000000 NutConditionInit /tmp/ccaRnYSb.s:36 .text.NutConditionLock:0000000000000000 NutConditionLock /tmp/ccaRnYSb.s:51 .text.NutConditionUnlock:0000000000000000 NutConditionUnlock /tmp/ccaRnYSb.s:66 .text.NutConditionWait:0000000000000000 NutConditionWait /tmp/ccaRnYSb.s:108 .text.NutConditionTimedWait:0000000000000000 NutConditionTimedWait /tmp/ccaRnYSb.s:189 .text.NutConditionSignal:0000000000000000 NutConditionSignal /tmp/ccaRnYSb.s:205 .text.NutConditionBroadcast:0000000000000000 NutConditionBroadcast /tmp/ccaRnYSb.s:221 .text.NutConditionFree:0000000000000000 NutConditionFree UNDEFINED SYMBOLS heapFreeList NutHeapRootAlloc NutMutexInit NutMutexLock NutMutexUnlock NutEventWait NutGetMillis NutEventPost NutEventBroadcast NutMutexDestroy NutHeapRootFree