| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723 |
- GAS LISTING /tmp/ccbe4QK8.s page 1
- 1 .file "msg.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.NutMsgQFreeTimer,"ax",@progbits
- 9 .type NutMsgQFreeTimer, @function
- 10 NutMsgQFreeTimer:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 DC01 movw r26,r24
- 16 0002 1296 adiw r26,2
- 17 0004 ED91 ld r30,X+
- 18 0006 FC91 ld r31,X
- 19 0008 1397 sbiw r26,2+1
- 20 000a 1296 adiw r26,2
- 21 .L2:
- 22 000c 3097 sbiw r30,0
- 23 000e 01F0 breq .L7
- 24 0010 E617 cp r30,r22
- 25 0012 F707 cpc r31,r23
- 26 0014 01F4 brne .L3
- 27 0016 2085 ldd r18,Z+8
- 28 0018 3185 ldd r19,Z+9
- 29 001a 2D93 st X+,r18
- 30 001c 3C93 st X,r19
- 31 001e 8091 0000 lds r24,nutMsgFreeTimers
- 32 0022 9091 0000 lds r25,nutMsgFreeTimers+1
- 33 0026 9187 std Z+9,r25
- 34 0028 8087 std Z+8,r24
- 35 002a F093 0000 sts nutMsgFreeTimers+1,r31
- 36 002e E093 0000 sts nutMsgFreeTimers,r30
- 37 0032 0895 ret
- 38 .L3:
- 39 0034 DF01 movw r26,r30
- 40 0036 1896 adiw r26,8
- 41 0038 0084 ldd __tmp_reg__,Z+8
- 42 003a F185 ldd r31,Z+9
- 43 003c E02D mov r30,__tmp_reg__
- 44 003e 00C0 rjmp .L2
- 45 .L7:
- 46 0040 0895 ret
- 47 .size NutMsgQFreeTimer, .-NutMsgQFreeTimer
- 48 .section .text.NutMsgQCreate,"ax",@progbits
- 49 .global NutMsgQCreate
- 50 .type NutMsgQCreate, @function
- 51 NutMsgQCreate:
- 52 0000 CF93 push r28
- 53 0002 DF93 push r29
- 54 /* prologue: function */
- 55 /* frame size = 0 */
- 56 /* stack size = 2 */
- 57 .L__stack_usage = 2
- GAS LISTING /tmp/ccbe4QK8.s page 2
- 58 0004 C1E0 ldi r28,lo8(1)
- 59 0006 D0E0 ldi r29,0
- 60 0008 00C0 rjmp 2f
- 61 1:
- 62 000a CC0F lsl r28
- 63 2:
- 64 000c 8A95 dec r24
- 65 000e 02F4 brpl 1b
- 66 0010 85E0 ldi r24,lo8(5)
- 67 0012 C89F mul r28,r24
- 68 0014 B001 movw r22,r0
- 69 0016 1124 clr __zero_reg__
- 70 0018 625F subi r22,-14
- 71 001a 7F4F sbci r23,-1
- 72 001c 80E0 ldi r24,lo8(heapFreeList)
- 73 001e 90E0 ldi r25,hi8(heapFreeList)
- 74 0020 0E94 0000 call NutHeapRootAllocClear
- 75 0024 0097 sbiw r24,0
- 76 0026 01F0 breq .L9
- 77 0028 C150 subi r28,lo8(-(-1))
- 78 002a FC01 movw r30,r24
- 79 002c C087 std Z+8,r28
- 80 002e 2091 0000 lds r18,nutMsgQue
- 81 0032 3091 0000 lds r19,nutMsgQue+1
- 82 0036 3583 std Z+5,r19
- 83 0038 2483 std Z+4,r18
- 84 003a 9093 0000 sts nutMsgQue+1,r25
- 85 003e 8093 0000 sts nutMsgQue,r24
- 86 .L9:
- 87 /* epilogue start */
- 88 0042 DF91 pop r29
- 89 0044 CF91 pop r28
- 90 0046 0895 ret
- 91 .size NutMsgQCreate, .-NutMsgQCreate
- 92 .section .text.NutMsgQFull,"ax",@progbits
- 93 .global NutMsgQFull
- 94 .type NutMsgQFull, @function
- 95 NutMsgQFull:
- 96 /* prologue: function */
- 97 /* frame size = 0 */
- 98 /* stack size = 0 */
- 99 .L__stack_usage = 0
- 100 0000 FC01 movw r30,r24
- 101 0002 2781 ldd r18,Z+7
- 102 0004 30E0 ldi r19,0
- 103 0006 2F5F subi r18,-1
- 104 0008 3F4F sbci r19,-1
- 105 000a 4085 ldd r20,Z+8
- 106 000c 50E0 ldi r21,0
- 107 000e 2423 and r18,r20
- 108 0010 3523 and r19,r21
- 109 0012 4681 ldd r20,Z+6
- 110 0014 50E0 ldi r21,0
- 111 0016 81E0 ldi r24,lo8(1)
- 112 0018 90E0 ldi r25,0
- 113 001a 2417 cp r18,r20
- 114 001c 3507 cpc r19,r21
- GAS LISTING /tmp/ccbe4QK8.s page 3
- 115 001e 01F0 breq .L14
- 116 0020 80E0 ldi r24,0
- 117 0022 90E0 ldi r25,0
- 118 .L14:
- 119 0024 9195 neg r25
- 120 0026 8195 neg r24
- 121 0028 9109 sbc r25,__zero_reg__
- 122 002a 0895 ret
- 123 .size NutMsgQFull, .-NutMsgQFull
- 124 .section .text.NutMsgQPost,"ax",@progbits
- 125 .global NutMsgQPost
- 126 .type NutMsgQPost, @function
- 127 NutMsgQPost:
- 128 0000 AF92 push r10
- 129 0002 BF92 push r11
- 130 0004 CF92 push r12
- 131 0006 DF92 push r13
- 132 0008 EF92 push r14
- 133 000a FF92 push r15
- 134 000c 0F93 push r16
- 135 000e 1F93 push r17
- 136 0010 CF93 push r28
- 137 0012 DF93 push r29
- 138 0014 1F92 push __zero_reg__
- 139 0016 CDB7 in r28,__SP_L__
- 140 0018 DEB7 in r29,__SP_H__
- 141 /* prologue: function */
- 142 /* frame size = 1 */
- 143 /* stack size = 11 */
- 144 .L__stack_usage = 11
- 145 001a 5C01 movw r10,r24
- 146 001c 6A01 movw r12,r20
- 147 001e 7901 movw r14,r18
- 148 /* #APP */
- 149 ; 160 "../../nut/os/msg.c" 1
- 150 0020 0FB6 in __tmp_reg__, __SREG__
- 151 0022 F894 cli
- 152 0024 0F92 push __tmp_reg__
- 153
- 154 ; 0 "" 2
- 155 /* #NOAPP */
- 156 0026 6983 std Y+1,r22
- 157 0028 0E94 0000 call NutMsgQFull
- 158 002c 8C01 movw r16,r24
- 159 002e 6981 ldd r22,Y+1
- 160 0030 892B or r24,r25
- 161 0032 01F0 breq .L16
- 162 /* #APP */
- 163 ; 163 "../../nut/os/msg.c" 1
- 164 0034 0F90 pop __tmp_reg__
- 165 0036 0FBE out __SREG__, __tmp_reg__
- 166
- 167 ; 0 "" 2
- 168 /* #NOAPP */
- 169 0038 0FEF ldi r16,lo8(-1)
- 170 003a 1FEF ldi r17,lo8(-1)
- 171 003c 00C0 rjmp .L17
- GAS LISTING /tmp/ccbe4QK8.s page 4
- 172 .L16:
- 173 003e F501 movw r30,r10
- 174 0040 8781 ldd r24,Z+7
- 175 0042 3996 adiw r30,9
- 176 0044 95E0 ldi r25,lo8(5)
- 177 0046 899F mul r24,r25
- 178 0048 E00D add r30,r0
- 179 004a F11D adc r31,r1
- 180 004c 1124 clr __zero_reg__
- 181 004e 6083 st Z,r22
- 182 0050 D282 std Z+2,r13
- 183 0052 C182 std Z+1,r12
- 184 0054 F482 std Z+4,r15
- 185 0056 E382 std Z+3,r14
- 186 0058 F501 movw r30,r10
- 187 005a 8781 ldd r24,Z+7
- 188 005c 8F5F subi r24,lo8(-(1))
- 189 005e 9085 ldd r25,Z+8
- 190 0060 8923 and r24,r25
- 191 0062 8783 std Z+7,r24
- 192 /* #APP */
- 193 ; 176 "../../nut/os/msg.c" 1
- 194 0064 0F90 pop __tmp_reg__
- 195 0066 0FBE out __SREG__, __tmp_reg__
- 196
- 197 ; 0 "" 2
- 198 /* #NOAPP */
- 199 0068 C501 movw r24,r10
- 200 006a 0E94 0000 call NutEventPostAsync
- 201 .L17:
- 202 006e C801 movw r24,r16
- 203 /* epilogue start */
- 204 0070 0F90 pop __tmp_reg__
- 205 0072 DF91 pop r29
- 206 0074 CF91 pop r28
- 207 0076 1F91 pop r17
- 208 0078 0F91 pop r16
- 209 007a FF90 pop r15
- 210 007c EF90 pop r14
- 211 007e DF90 pop r13
- 212 0080 CF90 pop r12
- 213 0082 BF90 pop r11
- 214 0084 AF90 pop r10
- 215 0086 0895 ret
- 216 .size NutMsgQPost, .-NutMsgQPost
- 217 .section .text.NutMsgQBroadcast,"ax",@progbits
- 218 .global NutMsgQBroadcast
- 219 .type NutMsgQBroadcast, @function
- 220 NutMsgQBroadcast:
- 221 0000 AF92 push r10
- 222 0002 BF92 push r11
- 223 0004 CF92 push r12
- 224 0006 DF92 push r13
- 225 0008 FF92 push r15
- 226 000a 0F93 push r16
- 227 000c 1F93 push r17
- 228 000e CF93 push r28
- GAS LISTING /tmp/ccbe4QK8.s page 5
- 229 0010 DF93 push r29
- 230 /* prologue: function */
- 231 /* frame size = 0 */
- 232 /* stack size = 9 */
- 233 .L__stack_usage = 9
- 234 0012 F82E mov r15,r24
- 235 0014 6B01 movw r12,r22
- 236 0016 5A01 movw r10,r20
- 237 0018 C091 0000 lds r28,nutMsgQue
- 238 001c D091 0000 lds r29,nutMsgQue+1
- 239 0020 00E0 ldi r16,0
- 240 0022 10E0 ldi r17,0
- 241 .L19:
- 242 0024 2097 sbiw r28,0
- 243 0026 01F0 breq .L21
- 244 0028 9501 movw r18,r10
- 245 002a A601 movw r20,r12
- 246 002c 6F2D mov r22,r15
- 247 002e CE01 movw r24,r28
- 248 0030 0E94 0000 call NutMsgQPost
- 249 0034 081B sub r16,r24
- 250 0036 190B sbc r17,r25
- 251 0038 0C80 ldd __tmp_reg__,Y+4
- 252 003a DD81 ldd r29,Y+5
- 253 003c C02D mov r28,__tmp_reg__
- 254 003e 00C0 rjmp .L19
- 255 .L21:
- 256 0040 C801 movw r24,r16
- 257 /* epilogue start */
- 258 0042 DF91 pop r29
- 259 0044 CF91 pop r28
- 260 0046 1F91 pop r17
- 261 0048 0F91 pop r16
- 262 004a FF90 pop r15
- 263 004c DF90 pop r13
- 264 004e CF90 pop r12
- 265 0050 BF90 pop r11
- 266 0052 AF90 pop r10
- 267 0054 0895 ret
- 268 .size NutMsgQBroadcast, .-NutMsgQBroadcast
- 269 .section .text.NutMsgQSend,"ax",@progbits
- 270 .global NutMsgQSend
- 271 .type NutMsgQSend, @function
- 272 NutMsgQSend:
- 273 0000 CF93 push r28
- 274 0002 DF93 push r29
- 275 0004 1F92 push __zero_reg__
- 276 0006 1F92 push __zero_reg__
- 277 0008 CDB7 in r28,__SP_L__
- 278 000a DEB7 in r29,__SP_H__
- 279 /* prologue: function */
- 280 /* frame size = 2 */
- 281 /* stack size = 4 */
- 282 .L__stack_usage = 4
- 283 000c 0E94 0000 call NutMsgQPost
- 284 0010 0097 sbiw r24,0
- 285 0012 01F4 brne .L24
- GAS LISTING /tmp/ccbe4QK8.s page 6
- 286 0014 8983 std Y+1,r24
- 287 0016 9A83 std Y+2,r25
- 288 0018 0E94 0000 call NutThreadYield
- 289 001c 8981 ldd r24,Y+1
- 290 001e 9A81 ldd r25,Y+2
- 291 0020 00C0 rjmp .L23
- 292 .L24:
- 293 0022 8FEF ldi r24,lo8(-1)
- 294 0024 9FEF ldi r25,lo8(-1)
- 295 .L23:
- 296 /* epilogue start */
- 297 0026 0F90 pop __tmp_reg__
- 298 0028 0F90 pop __tmp_reg__
- 299 002a DF91 pop r29
- 300 002c CF91 pop r28
- 301 002e 0895 ret
- 302 .size NutMsgQSend, .-NutMsgQSend
- 303 .section .text.NutMsgQTimerCb,"ax",@progbits
- 304 .type NutMsgQTimerCb, @function
- 305 NutMsgQTimerCb:
- 306 0000 0F93 push r16
- 307 0002 CF93 push r28
- 308 0004 DF93 push r29
- 309 /* prologue: function */
- 310 /* frame size = 0 */
- 311 /* stack size = 3 */
- 312 .L__stack_usage = 3
- 313 0006 EB01 movw r28,r22
- 314 0008 9B01 movw r18,r22
- 315 000a 40E0 ldi r20,0
- 316 000c 50E0 ldi r21,0
- 317 000e 6EEF ldi r22,lo8(-2)
- 318 0010 8881 ld r24,Y
- 319 0012 9981 ldd r25,Y+1
- 320 0014 0E94 0000 call NutMsgQPost
- 321 0018 2A85 ldd r18,Y+10
- 322 001a 892B or r24,r25
- 323 001c 01F0 breq .L26
- 324 001e 2223 tst r18
- 325 0020 01F0 breq .L25
- 326 0022 01E0 ldi r16,lo8(1)
- 327 0024 9E01 movw r18,r28
- 328 0026 40E0 ldi r20,lo8(gs(NutMsgQTimerCb))
- 329 0028 50E0 ldi r21,hi8(gs(NutMsgQTimerCb))
- 330 002a 61E0 ldi r22,lo8(1)
- 331 002c 70E0 ldi r23,0
- 332 002e 80E0 ldi r24,0
- 333 0030 90E0 ldi r25,0
- 334 0032 0E94 0000 call NutTimerStartTicks
- 335 0036 9F83 std Y+7,r25
- 336 0038 8E83 std Y+6,r24
- 337 003a 00C0 rjmp .L25
- 338 .L26:
- 339 003c 2223 tst r18
- 340 003e 01F0 breq .L25
- 341 0040 1F82 std Y+7,__zero_reg__
- 342 0042 1E82 std Y+6,__zero_reg__
- GAS LISTING /tmp/ccbe4QK8.s page 7
- 343 .L25:
- 344 /* epilogue start */
- 345 0044 DF91 pop r29
- 346 0046 CF91 pop r28
- 347 0048 0F91 pop r16
- 348 004a 0895 ret
- 349 .size NutMsgQTimerCb, .-NutMsgQTimerCb
- 350 .section .text.NutMsgQStartTimer,"ax",@progbits
- 351 .global NutMsgQStartTimer
- 352 .type NutMsgQStartTimer, @function
- 353 NutMsgQStartTimer:
- 354 0000 4F92 push r4
- 355 0002 5F92 push r5
- 356 0004 6F92 push r6
- 357 0006 7F92 push r7
- 358 0008 AF92 push r10
- 359 000a BF92 push r11
- 360 000c CF92 push r12
- 361 000e DF92 push r13
- 362 0010 EF92 push r14
- 363 0012 0F93 push r16
- 364 0014 1F93 push r17
- 365 0016 CF93 push r28
- 366 0018 DF93 push r29
- 367 /* prologue: function */
- 368 /* frame size = 0 */
- 369 /* stack size = 13 */
- 370 .L__stack_usage = 13
- 371 001a 6C01 movw r12,r24
- 372 001c 2A01 movw r4,r20
- 373 001e 3B01 movw r6,r22
- 374 0020 5901 movw r10,r18
- 375 0022 C091 0000 lds r28,nutMsgFreeTimers
- 376 0026 D091 0000 lds r29,nutMsgFreeTimers+1
- 377 002a 2097 sbiw r28,0
- 378 002c 01F0 breq .L35
- 379 002e 8885 ldd r24,Y+8
- 380 0030 9985 ldd r25,Y+9
- 381 0032 9093 0000 sts nutMsgFreeTimers+1,r25
- 382 0036 8093 0000 sts nutMsgFreeTimers,r24
- 383 003a 00C0 rjmp .L36
- 384 .L35:
- 385 003c 6BE0 ldi r22,lo8(11)
- 386 003e 70E0 ldi r23,0
- 387 0040 80E0 ldi r24,lo8(heapFreeList)
- 388 0042 90E0 ldi r25,hi8(heapFreeList)
- 389 0044 0E94 0000 call NutHeapRootAlloc
- 390 0048 EC01 movw r28,r24
- 391 .L36:
- 392 004a D982 std Y+1,r13
- 393 004c C882 st Y,r12
- 394 004e 1D83 std Y+5,r17
- 395 0050 0C83 std Y+4,r16
- 396 0052 BB82 std Y+3,r11
- 397 0054 AA82 std Y+2,r10
- 398 0056 EA86 std Y+10,r14
- 399 0058 0E2D mov r16,r14
- GAS LISTING /tmp/ccbe4QK8.s page 8
- 400 005a 9E01 movw r18,r28
- 401 005c 40E0 ldi r20,lo8(gs(NutMsgQTimerCb))
- 402 005e 50E0 ldi r21,hi8(gs(NutMsgQTimerCb))
- 403 0060 C301 movw r24,r6
- 404 0062 B201 movw r22,r4
- 405 0064 0E94 0000 call NutTimerStart
- 406 0068 9F83 std Y+7,r25
- 407 006a 8E83 std Y+6,r24
- 408 006c F601 movw r30,r12
- 409 006e 8281 ldd r24,Z+2
- 410 0070 9381 ldd r25,Z+3
- 411 0072 9987 std Y+9,r25
- 412 0074 8887 std Y+8,r24
- 413 0076 D383 std Z+3,r29
- 414 0078 C283 std Z+2,r28
- 415 007a CE01 movw r24,r28
- 416 /* epilogue start */
- 417 007c DF91 pop r29
- 418 007e CF91 pop r28
- 419 0080 1F91 pop r17
- 420 0082 0F91 pop r16
- 421 0084 EF90 pop r14
- 422 0086 DF90 pop r13
- 423 0088 CF90 pop r12
- 424 008a BF90 pop r11
- 425 008c AF90 pop r10
- 426 008e 7F90 pop r7
- 427 0090 6F90 pop r6
- 428 0092 5F90 pop r5
- 429 0094 4F90 pop r4
- 430 0096 0895 ret
- 431 .size NutMsgQStartTimer, .-NutMsgQStartTimer
- 432 .section .text.NutMsgQStopTimer,"ax",@progbits
- 433 .global NutMsgQStopTimer
- 434 .type NutMsgQStopTimer, @function
- 435 NutMsgQStopTimer:
- 436 0000 0F93 push r16
- 437 0002 1F93 push r17
- 438 0004 CF93 push r28
- 439 0006 DF93 push r29
- 440 /* prologue: function */
- 441 /* frame size = 0 */
- 442 /* stack size = 4 */
- 443 .L__stack_usage = 4
- 444 0008 8C01 movw r16,r24
- 445 000a FC01 movw r30,r24
- 446 000c C081 ld r28,Z
- 447 000e D181 ldd r29,Z+1
- 448 /* #APP */
- 449 ; 314 "../../nut/os/msg.c" 1
- 450 0010 0FB6 in __tmp_reg__, __SREG__
- 451 0012 F894 cli
- 452 0014 0F92 push __tmp_reg__
- 453
- 454 ; 0 "" 2
- 455 /* #NOAPP */
- 456 0016 8E81 ldd r24,Y+6
- GAS LISTING /tmp/ccbe4QK8.s page 9
- 457 0018 9F81 ldd r25,Y+7
- 458 001a 25E0 ldi r18,lo8(5)
- 459 001c 3FEF ldi r19,lo8(-1)
- 460 .L38:
- 461 001e 8917 cp r24,r25
- 462 0020 01F0 breq .L45
- 463 0022 FE01 movw r30,r28
- 464 0024 289F mul r18,r24
- 465 0026 E00D add r30,r0
- 466 0028 F11D adc r31,r1
- 467 002a 1124 clr __zero_reg__
- 468 002c 4185 ldd r20,Z+9
- 469 002e 4E3F cpi r20,lo8(-2)
- 470 0030 01F4 brne .L39
- 471 0032 4485 ldd r20,Z+12
- 472 0034 5585 ldd r21,Z+13
- 473 0036 0417 cp r16,r20
- 474 0038 1507 cpc r17,r21
- 475 003a 01F4 brne .L39
- 476 003c 3187 std Z+9,r19
- 477 .L39:
- 478 003e 8F5F subi r24,lo8(-(1))
- 479 0040 4885 ldd r20,Y+8
- 480 0042 8423 and r24,r20
- 481 0044 00C0 rjmp .L38
- 482 .L45:
- 483 0046 F801 movw r30,r16
- 484 0048 8681 ldd r24,Z+6
- 485 004a 9781 ldd r25,Z+7
- 486 004c 0097 sbiw r24,0
- 487 004e 01F0 breq .L41
- 488 0050 0E94 0000 call NutTimerStop
- 489 .L41:
- 490 /* #APP */
- 491 ; 330 "../../nut/os/msg.c" 1
- 492 0054 0F90 pop __tmp_reg__
- 493 0056 0FBE out __SREG__, __tmp_reg__
- 494
- 495 ; 0 "" 2
- 496 /* #NOAPP */
- 497 0058 B801 movw r22,r16
- 498 005a CE01 movw r24,r28
- 499 /* epilogue start */
- 500 005c DF91 pop r29
- 501 005e CF91 pop r28
- 502 0060 1F91 pop r17
- 503 0062 0F91 pop r16
- 504 0064 0C94 0000 jmp NutMsgQFreeTimer
- 505 .size NutMsgQStopTimer, .-NutMsgQStopTimer
- 506 .section .text.NutMsgQGetMessage,"ax",@progbits
- 507 .global NutMsgQGetMessage
- 508 .type NutMsgQGetMessage, @function
- 509 NutMsgQGetMessage:
- 510 0000 EF92 push r14
- 511 0002 FF92 push r15
- 512 0004 0F93 push r16
- 513 0006 1F93 push r17
- GAS LISTING /tmp/ccbe4QK8.s page 10
- 514 0008 CF93 push r28
- 515 000a DF93 push r29
- 516 /* prologue: function */
- 517 /* frame size = 0 */
- 518 /* stack size = 6 */
- 519 .L__stack_usage = 6
- 520 000c EC01 movw r28,r24
- 521 000e 8B01 movw r16,r22
- 522 0010 BA01 movw r22,r20
- 523 0012 A901 movw r20,r18
- 524 /* #APP */
- 525 ; 347 "../../nut/os/msg.c" 1
- 526 0014 0FB6 in __tmp_reg__, __SREG__
- 527 0016 F894 cli
- 528 0018 0F92 push __tmp_reg__
- 529
- 530 ; 0 "" 2
- 531 /* #NOAPP */
- 532 001a 0E94 0000 call NutEventWait
- 533 001e 7C01 movw r14,r24
- 534 0020 892B or r24,r25
- 535 0022 01F0 breq .L47
- 536 /* #APP */
- 537 ; 350 "../../nut/os/msg.c" 1
- 538 0024 0F90 pop __tmp_reg__
- 539 0026 0FBE out __SREG__, __tmp_reg__
- 540
- 541 ; 0 "" 2
- 542 /* #NOAPP */
- 543 0028 EE24 clr r14
- 544 002a EA94 dec r14
- 545 002c FE2C mov r15,r14
- 546 002e 00C0 rjmp .L48
- 547 .L47:
- 548 0030 8E81 ldd r24,Y+6
- 549 0032 FE01 movw r30,r28
- 550 0034 95E0 ldi r25,lo8(5)
- 551 0036 899F mul r24,r25
- 552 0038 E00D add r30,r0
- 553 003a F11D adc r31,r1
- 554 003c 1124 clr __zero_reg__
- 555 003e 3996 adiw r30,9
- 556 0040 85E0 ldi r24,lo8(5)
- 557 0042 D801 movw r26,r16
- 558 0:
- 559 0044 0190 ld r0,Z+
- 560 0046 0D92 st X+,r0
- 561 0048 8A95 dec r24
- 562 004a 01F4 brne 0b
- 563 004c 8E81 ldd r24,Y+6
- 564 004e 8F5F subi r24,lo8(-(1))
- 565 0050 9885 ldd r25,Y+8
- 566 0052 8923 and r24,r25
- 567 0054 8E83 std Y+6,r24
- 568 0056 9F81 ldd r25,Y+7
- 569 0058 8917 cp r24,r25
- 570 005a 01F0 breq .L49
- GAS LISTING /tmp/ccbe4QK8.s page 11
- 571 005c CE01 movw r24,r28
- 572 005e 0E94 0000 call NutEventPostAsync
- 573 .L49:
- 574 /* #APP */
- 575 ; 365 "../../nut/os/msg.c" 1
- 576 0062 0F90 pop __tmp_reg__
- 577 0064 0FBE out __SREG__, __tmp_reg__
- 578
- 579 ; 0 "" 2
- 580 /* #NOAPP */
- 581 0066 D801 movw r26,r16
- 582 0068 8C91 ld r24,X
- 583 006a 8E3F cpi r24,lo8(-2)
- 584 006c 01F4 brne .L48
- 585 006e 1396 adiw r26,3
- 586 0070 ED91 ld r30,X+
- 587 0072 FC91 ld r31,X
- 588 0074 1497 sbiw r26,3+1
- 589 0076 8481 ldd r24,Z+4
- 590 0078 9581 ldd r25,Z+5
- 591 007a 1496 adiw r26,3+1
- 592 007c 9C93 st X,r25
- 593 007e 8E93 st -X,r24
- 594 0080 1397 sbiw r26,3
- 595 0082 8281 ldd r24,Z+2
- 596 0084 9381 ldd r25,Z+3
- 597 0086 1296 adiw r26,1+1
- 598 0088 9C93 st X,r25
- 599 008a 8E93 st -X,r24
- 600 008c 1197 sbiw r26,1
- 601 008e 8285 ldd r24,Z+10
- 602 0090 80FF sbrs r24,0
- 603 0092 00C0 rjmp .L48
- 604 0094 BF01 movw r22,r30
- 605 0096 CE01 movw r24,r28
- 606 0098 0E94 0000 call NutMsgQFreeTimer
- 607 .L48:
- 608 009c C701 movw r24,r14
- 609 /* epilogue start */
- 610 009e DF91 pop r29
- 611 00a0 CF91 pop r28
- 612 00a2 1F91 pop r17
- 613 00a4 0F91 pop r16
- 614 00a6 FF90 pop r15
- 615 00a8 EF90 pop r14
- 616 00aa 0895 ret
- 617 .size NutMsgQGetMessage, .-NutMsgQGetMessage
- 618 .section .text.NutMsgQFlush,"ax",@progbits
- 619 .global NutMsgQFlush
- 620 .type NutMsgQFlush, @function
- 621 NutMsgQFlush:
- 622 /* prologue: function */
- 623 /* frame size = 0 */
- 624 /* stack size = 0 */
- 625 .L__stack_usage = 0
- 626 0000 FC01 movw r30,r24
- 627 /* #APP */
- GAS LISTING /tmp/ccbe4QK8.s page 12
- 628 ; 385 "../../nut/os/msg.c" 1
- 629 0002 0FB6 in __tmp_reg__, __SREG__
- 630 0004 F894 cli
- 631 0006 0F92 push __tmp_reg__
- 632
- 633 ; 0 "" 2
- 634 /* #NOAPP */
- 635 0008 8781 ldd r24,Z+7
- 636 000a 8683 std Z+6,r24
- 637 000c 1182 std Z+1,__zero_reg__
- 638 000e 1082 st Z,__zero_reg__
- 639 /* #APP */
- 640 ; 395 "../../nut/os/msg.c" 1
- 641 0010 0F90 pop __tmp_reg__
- 642 0012 0FBE out __SREG__, __tmp_reg__
- 643
- 644 ; 0 "" 2
- 645 /* #NOAPP */
- 646 0014 0895 ret
- 647 .size NutMsgQFlush, .-NutMsgQFlush
- 648 .comm nutMsgFreeTimers,2,1
- 649 .comm nutMsgQue,2,1
- 650 .ident "GCC: (GNU) 5.3.0"
- 651 .global __do_clear_bss
- GAS LISTING /tmp/ccbe4QK8.s page 13
- DEFINED SYMBOLS
- *ABS*:0000000000000000 msg.c
- /tmp/ccbe4QK8.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccbe4QK8.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccbe4QK8.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccbe4QK8.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccbe4QK8.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccbe4QK8.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccbe4QK8.s:10 .text.NutMsgQFreeTimer:0000000000000000 NutMsgQFreeTimer
- *COM*:0000000000000002 nutMsgFreeTimers
- /tmp/ccbe4QK8.s:51 .text.NutMsgQCreate:0000000000000000 NutMsgQCreate
- *COM*:0000000000000002 nutMsgQue
- /tmp/ccbe4QK8.s:95 .text.NutMsgQFull:0000000000000000 NutMsgQFull
- /tmp/ccbe4QK8.s:127 .text.NutMsgQPost:0000000000000000 NutMsgQPost
- /tmp/ccbe4QK8.s:220 .text.NutMsgQBroadcast:0000000000000000 NutMsgQBroadcast
- /tmp/ccbe4QK8.s:272 .text.NutMsgQSend:0000000000000000 NutMsgQSend
- /tmp/ccbe4QK8.s:305 .text.NutMsgQTimerCb:0000000000000000 NutMsgQTimerCb
- /tmp/ccbe4QK8.s:353 .text.NutMsgQStartTimer:0000000000000000 NutMsgQStartTimer
- /tmp/ccbe4QK8.s:435 .text.NutMsgQStopTimer:0000000000000000 NutMsgQStopTimer
- /tmp/ccbe4QK8.s:509 .text.NutMsgQGetMessage:0000000000000000 NutMsgQGetMessage
- /tmp/ccbe4QK8.s:621 .text.NutMsgQFlush:0000000000000000 NutMsgQFlush
- UNDEFINED SYMBOLS
- heapFreeList
- NutHeapRootAllocClear
- NutEventPostAsync
- NutThreadYield
- NutTimerStartTicks
- NutHeapRootAlloc
- NutTimerStart
- NutTimerStop
- NutEventWait
- __do_clear_bss
|