Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
R
rtic_f4xx_nucleo
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Niklas Lundberg
rtic_f4xx_nucleo
Commits
3ffc1980
Commit
3ffc1980
authored
Dec 2, 2020
by
Blinningjr
Browse files
Options
Downloads
Patches
Plain Diff
rtt_timing D
parent
dcadd8fe
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
examples/rtt_timing.rs
+11
-0
11 additions, 0 deletions
examples/rtt_timing.rs
rtt_timing.objdump
+2308
-0
2308 additions, 0 deletions
rtt_timing.objdump
with
2319 additions
and
0 deletions
examples/rtt_timing.rs
+
11
−
0
View file @
3ffc1980
...
@@ -156,6 +156,17 @@ fn timed_loop() -> (u32, u32) {
...
@@ -156,6 +156,17 @@ fn timed_loop() -> (u32, u32) {
//
//
// [Assembly for function `timed_loop` here]
// [Assembly for function `timed_loop` here]
//
//
// 08000232 <timed_loop>:
// 8000232: movw r1, #4100
// 8000236: movw r2, #10000
// 800023a: movt r1, #57344
// 800023e: ldr r0, [r1]
// 8000240: subs r2, #1
// 8000242: nop
// 8000244: bne #-8 <timed_loop+0xe>
// 8000246: ldr r1, [r1]
// 8000248: bx lr
//
// Locate the loop body, and verify that it makes sense
// Locate the loop body, and verify that it makes sense
// based on the information from the technical documentation:
// based on the information from the technical documentation:
//
//
...
...
This diff is collapsed.
Click to expand it.
rtt_timing.objdump
0 → 100644
+
2308
−
0
View file @
3ffc1980
rtt_timing: file format elf32-littlearm
Disassembly of section .text:
08000198 <Reset>:
8000198: push {r7, lr}
800019a: mov r7, sp
800019c: bl #3554
80001a0: movw r0, #1084
80001a4: movw r1, #0
80001a8: movt r0, #8192
80001ac: movt r1, #8192
80001b0: cmp r1, r0
80001b2: bhs #40 <Reset+0x46>
80001b4: movw r1, #0
80001b8: movs r2, #0
80001ba: movt r1, #8192
80001be: str r2, [r1], #4
80001c2: cmp r1, r0
80001c4: itt lo
80001c6: strlo r2, [r1], #4
80001ca: cmplo r1, r0
80001cc: bhs #14 <Reset+0x46>
80001ce: str r2, [r1], #4
80001d2: cmp r1, r0
80001d4: bhs #6 <Reset+0x46>
80001d6: str r2, [r1], #4
80001da: cmp r1, r0
80001dc: blo #-34 <Reset+0x26>
80001de: movw r0, #0
80001e2: movw r1, #0
80001e6: movt r0, #8192
80001ea: movt r1, #8192
80001ee: cmp r1, r0
80001f0: bhs #56 <Reset+0x94>
80001f2: movw r1, #6876
80001f6: movw r2, #0
80001fa: movt r1, #2048
80001fe: movt r2, #8192
8000202: ldr r3, [r1]
8000204: str r3, [r2], #4
8000208: cmp r2, r0
800020a: bhs #30 <Reset+0x94>
800020c: ldr r3, [r1, #4]
800020e: str r3, [r2], #4
8000212: cmp r2, r0
8000214: bhs #20 <Reset+0x94>
8000216: ldr r3, [r1, #8]
8000218: str r3, [r2], #4
800021c: cmp r2, r0
800021e: bhs #10 <Reset+0x94>
8000220: ldr r3, [r1, #12]
8000222: adds r1, #16
8000224: str r3, [r2], #4
8000228: cmp r2, r0
800022a: blo #-44 <Reset+0x6a>
800022c: bl #480
8000230: trap
08000232 <timed_loop>:
8000232: movw r1, #4100
8000236: movw r2, #10000
800023a: movt r1, #57344
800023e: ldr r0, [r1]
8000240: subs r2, #1
8000242: nop
8000244: bne #-8 <timed_loop+0xe>
8000246: ldr r1, [r1]
8000248: bx lr
0800024a <rtt_timing::init::h9245425d39ee62b1>:
800024a: push {r4, r5, r7, lr}
800024c: add r7, sp, #8
800024e: sub sp, #72
8000250: movw r4, #0
8000254: movs r1, #48
8000256: movt r4, #8192
800025a: mov r0, r4
800025c: bl #5638
8000260: movw r1, #6276
8000264: mov r0, r4
8000266: movt r1, #2048
800026a: movw r5, #1072
800026e: str r1, [r0, #24]!
8000272: mov.w r1, #1024
8000276: str r1, [r4, #32]
8000278: mov.w r12, #0
800027c: ldr r1, [r4, #44]
800027e: dmb sy
8000282: dmb sy
8000286: movt r5, #8192
800028a: bic r1, r1, #3
800028e: str r1, [r4, #44]
8000290: movw r1, #48
8000294: dmb sy
8000298: movt r1, #8192
800029c: str r1, [r4, #28]
800029e: movs r1, #1
80002a0: str r1, [r4, #16]
80002a2: movw r1, #6789
80002a6: movt r1, #2048
80002aa: ldr r2, [r1]
80002ac: str r2, [r4]
80002ae: movw r2, #6796
80002b2: ldrb r1, [r1, #4]
80002b4: movt r2, #2048
80002b8: strb r1, [r4, #4]
80002ba: str.w r12, [r4, #20]
80002be: ldrd r3, r1, [r2]
80002c2: dmb sy
80002c6: ldr r2, [r2, #8]
80002c8: str r2, [r4, #12]
80002ca: strd r3, r1, [r4, #4]
80002ce: mrs r1, primask
80002d2: cpsid i
80002d4: str r0, [r5, #4]
80002d6: lsls r0, r1, #31
80002d8: strb.w r12, [r5, #8]
80002dc: bne #0 <rtt_timing::init::h9245425d39ee62b1+0x96>
80002de: cpsie i
80002e0: movw r0, #6808
80002e4: dmb sy
80002e8: movt r0, #2048
80002ec: str r0, [r5]
80002ee: movs r0, #5
80002f0: dmb sy
80002f4: str r0, [sp, #16]
80002f6: movw r0, #6285
80002fa: movt r0, #2048
80002fe: str r0, [sp, #12]
8000300: ldr r0, [r5]
8000302: dmb sy
8000306: cbz r0, #22
8000308: add r1, sp, #12
800030a: str r1, [sp, #40]
800030c: movs r1, #0
800030e: strb.w r1, [sp, #36]
8000312: movw r1, #4867
8000316: ldr r2, [r0]
8000318: add r0, sp, #36
800031a: movt r1, #2048
800031e: blx r2
8000320: movw r0, #60924
8000324: movt r0, #57344
8000328: ldr r1, [r0]
800032a: orr r1, r1, #16777216
800032e: str r1, [r0]
8000330: movw r0, #4096
8000334: movt r0, #57344
8000338: ldr r1, [r0]
800033a: orr r1, r1, #1
800033e: str r1, [r0]
8000340: movs r0, #17
8000342: str r0, [sp, #16]
8000344: movw r0, #6290
8000348: movt r0, #2048
800034c: str r0, [sp, #12]
800034e: ldr r0, [r5]
8000350: dmb sy
8000354: cbz r0, #22
8000356: add r1, sp, #12
8000358: str r1, [sp, #40]
800035a: movs r1, #0
800035c: strb.w r1, [sp, #36]
8000360: movw r1, #4867
8000364: ldr r2, [r0]
8000366: add r0, sp, #36
8000368: movt r1, #2048
800036c: blx r2
800036e: bl #-320
8000372: movs r2, #3
8000374: movs r3, #4
8000376: str r2, [sp, #32]
8000378: add r2, sp, #36
800037a: str r2, [sp, #28]
800037c: movs r2, #0
800037e: strd r2, r2, [sp, #20]
8000382: add r4, sp, #60
8000384: str r3, [sp, #16]
8000386: movw r3, #6328
800038a: movt r3, #2048
800038e: strd r0, r1, [sp, #4]
8000392: str r3, [sp, #12]
8000394: movw r3, #1129
8000398: movt r3, #2048
800039c: subs r0, r1, r0
800039e: str r3, [sp, #56]
80003a0: strd r3, r4, [sp, #48]
80003a4: add r4, sp, #8
80003a6: str r0, [sp, #60]
80003a8: strd r3, r4, [sp, #40]
80003ac: add r3, sp, #4
80003ae: str r3, [sp, #36]
80003b0: ldr r0, [r5]
80003b2: dmb sy
80003b6: cbz r0, #20
80003b8: add r1, sp, #12
80003ba: str r1, [sp, #68]
80003bc: strb.w r2, [sp, #64]
80003c0: movw r1, #5133
80003c4: ldr r2, [r0]
80003c6: add r0, sp, #64
80003c8: movt r1, #2048
80003cc: blx r2
80003ce: add sp, #72
80003d0: pop {r4, r5, r7, pc}
080003d2 <rtt_timing::idle::hea925cff17067eef>:
80003d2: push {r7, lr}
80003d4: mov r7, sp
80003d6: sub sp, #16
80003d8: movs r0, #5
80003da: str r0, [sp, #4]
80003dc: movw r0, #6360
80003e0: movt r0, #2048
80003e4: str r0, [sp]
80003e6: movw r0, #1072
80003ea: movt r0, #8192
80003ee: ldr r0, [r0]
80003f0: dmb sy
80003f4: cbz r0, #22
80003f6: mov r1, sp
80003f8: str r1, [sp, #12]
80003fa: movs r1, #0
80003fc: strb.w r1, [sp, #8]
8000400: movw r1, #4867
8000404: ldr r2, [r0]
8000406: add r0, sp, #8
8000408: movt r1, #2048
800040c: blx r2
800040e: b #-4 <rtt_timing::idle::hea925cff17067eef+0x3c>
08000410 <main>:
8000410: push {r7, lr}
8000412: mov r7, sp
8000414: cpsid i
8000416: bl #-464
800041a: cpsie i
800041c: bl #-78
8000420: trap
08000422 <core::ops::function::FnOnce::call_once::hcc20366490b43a5a>:
8000422: ldr r0, [r0]
8000424: b #-4 <core::ops::function::FnOnce::call_once::hcc20366490b43a5a+0x2>
08000426 <core::panicking::panic_bounds_check::hc8463d4760305df5>:
8000426: push {r7, lr}
8000428: mov r7, sp
800042a: sub sp, #48
800042c: strd r0, r1, [sp]
8000430: add r1, sp, #32
8000432: movs r0, #2
8000434: str r1, [sp, #24]
8000436: movs r1, #0
8000438: str r0, [sp, #28]
800043a: str r1, [sp, #20]
800043c: strd r0, r1, [sp, #12]
8000440: movw r0, #6368
8000444: movt r0, #2048
8000448: mov r1, sp
800044a: str r0, [sp, #8]
800044c: movw r0, #1129
8000450: movt r0, #2048
8000454: str r0, [sp, #44]
8000456: strd r0, r1, [sp, #36]
800045a: add r0, sp, #4
800045c: str r0, [sp, #32]
800045e: add r0, sp, #8
8000460: mov r1, r2
8000462: bl #638
8000466: trap
08000468 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17>:
8000468: push {r4, r5, r6, r7, lr}
800046a: add r7, sp, #12
800046c: push.w {r8, r9, r10, r11}
8000470: sub sp, #52
8000472: ldr r5, [r0]
8000474: movw r8, #34079
8000478: movw lr, #6450
800047c: movw r0, #10000
8000480: mov r4, r1
8000482: movw r3, #65436
8000486: cmp r5, r0
8000488: movt r8, #20971
800048c: movt lr, #2048
8000490: blo #116 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0xa0>
8000492: movw r10, #5977
8000496: movw r11, #55536
800049a: movw r12, #57599
800049e: movs r6, #0
80004a0: movt r10, #53687
80004a4: movt r11, #65535
80004a8: movt r12, #1525
80004ac: str r4, [sp, #8]
80004ae: umull r2, r1, r5, r10
80004b2: add r0, sp, #12
80004b4: adds r4, r0, r6
80004b6: subs r6, #4
80004b8: cmp r5, r12
80004ba: lsr.w r2, r1, #13
80004be: mla r1, r2, r11, r5
80004c2: mov r5, r2
80004c4: uxth.w r9, r1
80004c8: umull r3, r0, r9, r8
80004cc: lsr.w r0, r0, #5
80004d0: ldrh.w r3, [lr, r0, lsl #1]
80004d4: strh.w r3, [r4, #35]
80004d8: movw r3, #65436
80004dc: mla r0, r0, r3, r1
80004e0: uxth r0, r0
80004e2: ldrh.w r0, [lr, r0, lsl #1]
80004e6: strh.w r0, [r4, #37]
80004ea: bhi #-64 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0x46>
80004ec: ldr r4, [sp, #8]
80004ee: adds r6, #39
80004f0: mov r5, r2
80004f2: cmp r5, #99
80004f4: bgt #22 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0xa6>
80004f6: mov r1, r5
80004f8: cmp r1, #10
80004fa: blt #44 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0xc2>
80004fc: ldrh.w r0, [lr, r1, lsl #1]
8000500: subs r2, r6, #2
8000502: add r1, sp, #12
8000504: strh r0, [r1, r2]
8000506: b #42 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0xcc>
8000508: movs r6, #39
800050a: cmp r5, #99
800050c: ble #-26 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0x8e>
800050e: uxth r0, r5
8000510: subs r6, #2
8000512: umull r0, r1, r0, r8
8000516: add r2, sp, #12
8000518: lsrs r1, r1, #5
800051a: mla r0, r1, r3, r5
800051e: uxth r0, r0
8000520: ldrh.w r0, [lr, r0, lsl #1]
8000524: strh r0, [r2, r6]
8000526: cmp r1, #10
8000528: bge #-48 <core::fmt::num::imp::<impl core::fmt::Display for u32>::fmt::h37314de64c9b9c17+0x94>
800052a: subs r2, r6, #1
800052c: add.w r0, r1, #48
8000530: add r1, sp, #12
8000532: strb r0, [r1, r2]
8000534: add r0, sp, #12
8000536: movw r6, #6772
800053a: adds r5, r0, r2
800053c: ldr r0, [r4]
800053e: ldr r3, [r4, #8]
8000540: movt r6, #2048
8000544: rsb.w r9, r2, #39
8000548: lsls r1, r0, #29
800054a: and.w r10, r6, r1, asr #31
800054e: ands r1, r0, #1
8000552: mov.w r6, #43
8000556: it eq
8000558: moveq.w r6, #1114112
800055c: cmp r3, #1
800055e: bne #50 <$t.8+0x8>
8000560: ldr.w r8, [r4, #12]
8000564: add.w r11, r9, r1
8000568: cmp r8, r11
800056a: bls #54 <$t.8+0x18>
800056c: lsls r0, r0, #28
800056e: str r5, [sp, #8]
8000570: bmi #86 <$t.8+0x3e>
8000572: ldrb.w r2, [r4, #32]
8000576: sub.w r1, r8, r11
800057a: movs r0, #0
800057c: cmp r2, #3
800057e: it eq
8000580: moveq r2, #1
8000582: mov r8, r1
8000584: tbb [pc, r2]
08000588 <$d.7>:
8000588: 4a 02 46 02 .word 0x0246024a
0800058c <$t.8>:
800058c: mov.w r8, #0
8000590: mov r0, r1
8000592: b #134 <$t.10+0xe>
8000594: mov r0, r4
8000596: mov r1, r6
8000598: mov r2, r10
800059a: bl #384
800059e: cbz r0, #16
80005a0: movs r5, #1
80005a2: b #68 <$t.8+0x5e>
80005a4: mov r0, r4
80005a6: mov r1, r6
80005a8: mov r2, r10
80005aa: bl #368
80005ae: cmp r0, #0
80005b0: bne #230 <$t.10+0x8c>
80005b2: ldr r1, [r4, #28]
80005b4: mov r2, r9
80005b6: ldr r0, [r4, #24]
80005b8: ldr r3, [r1, #12]
80005ba: mov r1, r5
80005bc: blx r3
80005be: mov r5, r0
80005c0: mov r0, r5
80005c2: add sp, #52
80005c4: pop.w {r8, r9, r10, r11}
80005c8: pop {r4, r5, r6, r7, pc}
80005ca: ldr r0, [r4, #4]
80005cc: movs r5, #1
80005ce: str r0, [sp, #4]
80005d0: movs r0, #48
80005d2: str r0, [r4, #4]
80005d4: mov r1, r6
80005d6: ldrb.w r0, [r4, #32]
80005da: mov r2, r10
80005dc: str r0, [sp]
80005de: mov r0, r4
80005e0: strb.w r5, [r4, #32]
80005e4: bl #310
80005e8: cbz r0, #8
80005ea: mov r0, r5
80005ec: add sp, #52
80005ee: pop.w {r8, r9, r10, r11}
80005f2: pop {r4, r5, r6, r7, pc}
80005f4: ldrb.w r2, [r4, #32]
80005f8: sub.w r1, r8, r11
80005fc: movs r0, #0
80005fe: cmp r2, #3
8000600: it eq
8000602: moveq r2, #1
8000604: mov r5, r1
8000606: tbb [pc, r2]
0800060a <$d.9>:
800060a: 34 02 31 02 .word 0x02310234
0800060e <$t.10>:
800060e: movs r5, #0
8000610: mov r0, r1
8000612: b #92 <$t.10+0x64>
8000614: lsrs r0, r1, #1
8000616: adds r1, #1
8000618: lsr.w r8, r1, #1
800061c: adds r5, r0, #1
800061e: subs r5, #1
8000620: beq #14 <$t.10+0x24>
8000622: ldrd r0, r2, [r4, #24]
8000626: ldr r1, [r4, #4]
8000628: ldr r2, [r2, #16]
800062a: blx r2
800062c: cmp r0, #0
800062e: beq #-20 <$t.10+0x10>
8000630: b #102 <$t.10+0x8c>
8000632: mov r0, r4
8000634: mov r1, r6
8000636: mov r2, r10
8000638: ldr.w r11, [r4, #4]
800063c: bl #222
8000640: cbnz r0, #86
8000642: ldrd r0, r1, [r4, #24]
8000646: mov r2, r9
8000648: ldr r3, [r1, #12]
800064a: ldr r1, [sp, #8]
800064c: blx r3
800064e: cbnz r0, #72
8000650: add.w r6, r8, #1
8000654: ldrd r8, r4, [r4, #24]
8000658: movs r5, #1
800065a: subs r6, #1
800065c: beq #98 <$t.10+0xb4>
800065e: ldr r2, [r4, #16]
8000660: mov r0, r8
8000662: mov r1, r11
8000664: blx r2
8000666: cmp r0, #0
8000668: beq #-18 <$t.10+0x4c>
800066a: b #-132 <$t.8+0x5e>
800066c: lsrs r0, r1, #1
800066e: adds r1, #1
8000670: lsrs r5, r1, #1
8000672: adds r6, r0, #1
8000674: subs r6, #1
8000676: beq #14 <$t.10+0x7a>
8000678: ldrd r0, r2, [r4, #24]
800067c: ldr r1, [r4, #4]
800067e: ldr r2, [r2, #16]
8000680: blx r2
8000682: cmp r0, #0
8000684: beq #-20 <$t.10+0x66>
8000686: b #16 <$t.10+0x8c>
8000688: ldrd r0, r1, [r4, #24]
800068c: mov r2, r9
800068e: ldr r3, [r1, #12]
8000690: ldr r1, [sp, #8]
8000692: ldr.w r10, [r4, #4]
8000696: blx r3
8000698: cbz r0, #10
800069a: movs r5, #1
800069c: mov r0, r5
800069e: add sp, #52
80006a0: pop.w {r8, r9, r10, r11}
80006a4: pop {r4, r5, r6, r7, pc}
80006a6: ldrd r8, r9, [r4, #24]
80006aa: adds r6, r5, #1
80006ac: movs r5, #1
80006ae: subs r6, #1
80006b0: beq #26 <$t.10+0xc0>
80006b2: ldr.w r2, [r9, #16]
80006b6: mov r0, r8
80006b8: mov r1, r10
80006ba: blx r2
80006bc: cmp r0, #0
80006be: beq #-20 <$t.10+0xa0>
80006c0: b #-218 <$t.8+0x5e>
80006c2: movs r5, #0
80006c4: mov r0, r5
80006c6: add sp, #52
80006c8: pop.w {r8, r9, r10, r11}
80006cc: pop {r4, r5, r6, r7, pc}
80006ce: ldr r0, [sp]
80006d0: movs r5, #0
80006d2: strb.w r0, [r4, #32]
80006d6: ldr r0, [sp, #4]
80006d8: str r0, [r4, #4]
80006da: mov r0, r5
80006dc: add sp, #52
80006de: pop.w {r8, r9, r10, r11}
80006e2: pop {r4, r5, r6, r7, pc}
080006e4 <core::panicking::panic_fmt::h712876cc728e9b08>:
80006e4: push {r7, lr}
80006e6: mov r7, sp
80006e8: sub sp, #16
80006ea: strd r0, r1, [sp, #8]
80006ee: movw r0, #6384
80006f2: movt r0, #2048
80006f6: str r0, [sp, #4]
80006f8: movw r0, #6772
80006fc: movt r0, #2048
8000700: str r0, [sp]
8000702: mov r0, sp
8000704: bl #2172
8000708: trap
0800070a <core::ptr::drop_in_place::h0857b8a82b321b90>:
800070a: bx lr
0800070c <<T as core::any::Any>::type_id::h2cb27b1db8ccb9f7>:
800070c: movw r0, #56701
8000710: movw r1, #53184
8000714: movt r0, #41998
8000718: movt r1, #59542
800071c: bx lr
0800071e <core::fmt::Formatter::pad_integral::write_prefix::h22bc70eca6bd65e9>:
800071e: push {r4, r5, r7, lr}
8000720: add r7, sp, #8
8000722: mov r4, r2
8000724: mov r5, r0
8000726: cmp.w r1, #1114112
800072a: beq #12 <core::fmt::Formatter::pad_integral::write_prefix::h22bc70eca6bd65e9+0x1c>
800072c: ldrd r0, r2, [r5, #24]
8000730: ldr r2, [r2, #16]
8000732: blx r2
8000734: cbz r0, #2
8000736: movs r0, #1
8000738: pop {r4, r5, r7, pc}
800073a: cbz r4, #14
800073c: ldrd r0, r1, [r5, #24]
8000740: movs r2, #0
8000742: ldr r3, [r1, #12]
8000744: mov r1, r4
8000746: pop.w {r4, r5, r7, lr}
800074a: bx r3
800074c: movs r0, #0
800074e: pop {r4, r5, r7, pc}
08000750 <core::fmt::Formatter::pad::h5aee0767df5fab5b>:
8000750: push {r4, r5, r6, r7, lr}
8000752: add r7, sp, #12
8000754: push.w {r8, r9, r10, r11}
8000758: sub sp, #4
800075a: ldr.w lr, [r0, #8]
800075e: mov r10, r0
8000760: ldr r0, [r0, #16]
8000762: mov r9, r2
8000764: mov r6, r1
8000766: cmp.w lr, #1
800076a: bne #30 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x3c>
800076c: cmp r0, #1
800076e: beq #32 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x42>
8000770: cmp.w r9, #0
8000774: beq.w #1240 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x500>
8000778: sub.w r8, r9, #1
800077c: and lr, r9, #3
8000780: cmp.w r8, #3
8000784: bhs #192 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0xf8>
8000786: movs r1, #0
8000788: mov r3, r6
800078a: b #706 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x300>
800078c: cmp r0, #1
800078e: bne.w #1228 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x50e>
8000792: ldr.w r3, [r10, #20]
8000796: add.w r5, r6, r9
800079a: movs r2, #0
800079c: str r6, [sp]
800079e: cbnz r3, #76
80007a0: cmp r5, r6
80007a2: beq.w #1172 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x4ea>
80007a6: mov r1, r6
80007a8: ldrsb r0, [r1], #1
80007ac: cmp.w r0, #4294967295
80007b0: ble #182 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x11a>
80007b2: ldr r6, [sp]
80007b4: cmp r2, #0
80007b6: it ne
80007b8: cmpne r2, r9
80007ba: bne.w #474 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x248>
80007be: mov r0, r6
80007c0: b #486 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x25a>
80007c2: ldrb r6, [r1], #1
80007c6: and r8, r6, #63
80007ca: mov r6, r1
80007cc: mov.w r1, #1835008
80007d0: and.w r0, r1, r0, lsl #18
80007d4: orr.w r0, r0, r11, lsl #12
80007d8: orr.w r0, r0, r12, lsl #6
80007dc: add r0, r8
80007de: cmp.w r0, #1114112
80007e2: beq.w #1108 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x4ea>
80007e6: subs r0, r6, r4
80007e8: subs r3, #1
80007ea: add r2, r0
80007ec: beq #-80 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x50>
80007ee: cmp r5, r6
80007f0: beq.w #1094 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x4ea>
80007f4: mov r4, r6
80007f6: ldrsb r0, [r6], #1
80007fa: cmp.w r0, #4294967295
80007fe: bgt #-28 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x96>
8000800: uxtb r0, r0
8000802: cmp r6, r5
8000804: beq #14 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0xc6>
8000806: ldrb r1, [r4, #1]
8000808: adds r6, r4, #2
800080a: and r11, r1, #63
800080e: mov r1, r6
8000810: cmp r0, #224
8000812: blo #-48 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x96>
8000814: b #8 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0xd0>
8000816: mov.w r11, #0
800081a: mov r1, r5
800081c: cmp r0, #224
800081e: blo #-60 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x96>
8000820: cmp r1, r5
8000822: beq #14 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0xe4>
8000824: ldrb r6, [r1], #1
8000828: and r12, r6, #63
800082c: mov r6, r1
800082e: cmp r0, #240
8000830: blo #-78 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x96>
8000832: b #8 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0xee>
8000834: mov.w r12, #0
8000838: mov r1, r5
800083a: cmp r0, #240
800083c: blo #-90 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x96>
800083e: cmp r1, r5
8000840: bne #-130 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x72>
8000842: mov.w r8, #0
8000846: b #-126 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x7c>
8000848: sub.w r0, r9, #4
800084c: bic r1, r0, #3
8000850: movs r0, #1
8000852: cmp r1, #12
8000854: add.w r0, r0, r1, lsr #2
8000858: and r12, r0, #3
800085c: bhs #36 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x134>
800085e: movs r1, #0
8000860: mov r3, r6
8000862: cmp.w r12, #0
8000866: bne #244 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x20e>
8000868: b #484 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x300>
800086a: uxtb r0, r0
800086c: cmp r1, r5
800086e: beq.w #392 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x2aa>
8000872: ldrb r1, [r6, #1]
8000874: adds r3, r6, #2
8000876: and r1, r1, #63
800087a: lsls r1, r1, #6
800087c: cmp r0, #224
800087e: bhs.w #386 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x2b4>
8000882: b #-212 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x62>
8000884: bic r0, r0, #3
8000888: movs r1, #0
800088a: rsbs r0, r0, #0
800088c: mov r11, r6
800088e: mov r3, r6
8000890: ldrb r6, [r3]
8000892: ldrb r5, [r3, #1]
8000894: ldrb r4, [r3, #2]
8000896: and r6, r6, #192
800089a: ldrb r2, [r3, #3]
800089c: cmp r6, #128
800089e: it eq
80008a0: addeq r1, #1
80008a2: and r5, r5, #192
80008a6: cmp r5, #128
80008a8: it eq
80008aa: addeq r1, #1
80008ac: and r4, r4, #192
80008b0: and r2, r2, #192
80008b4: cmp r4, #128
80008b6: it eq
80008b8: addeq r1, #1
80008ba: cmp r2, #128
80008bc: it eq
80008be: addeq r1, #1
80008c0: ldrb r2, [r3, #4]
80008c2: and r2, r2, #192
80008c6: cmp r2, #128
80008c8: it eq
80008ca: addeq r1, #1
80008cc: ldrb r2, [r3, #5]
80008ce: and r2, r2, #192
80008d2: cmp r2, #128
80008d4: it eq
80008d6: addeq r1, #1
80008d8: ldrb r2, [r3, #6]
80008da: and r2, r2, #192
80008de: cmp r2, #128
80008e0: it eq
80008e2: addeq r1, #1
80008e4: ldrb r2, [r3, #7]
80008e6: and r2, r2, #192
80008ea: cmp r2, #128
80008ec: it eq
80008ee: addeq r1, #1
80008f0: ldrb r2, [r3, #8]
80008f2: and r2, r2, #192
80008f6: cmp r2, #128
80008f8: it eq
80008fa: addeq r1, #1
80008fc: ldrb r2, [r3, #9]
80008fe: and r2, r2, #192
8000902: cmp r2, #128
8000904: it eq
8000906: addeq r1, #1
8000908: ldrb r2, [r3, #10]
800090a: and r2, r2, #192
800090e: cmp r2, #128
8000910: it eq
8000912: addeq r1, #1
8000914: ldrb r2, [r3, #11]
8000916: and r2, r2, #192
800091a: cmp r2, #128
800091c: it eq
800091e: addeq r1, #1
8000920: ldrb r2, [r3, #12]
8000922: and r2, r2, #192
8000926: cmp r2, #128
8000928: it eq
800092a: addeq r1, #1
800092c: ldrb r2, [r3, #13]
800092e: and r2, r2, #192
8000932: cmp r2, #128
8000934: it eq
8000936: addeq r1, #1
8000938: ldrb r2, [r3, #14]
800093a: and r2, r2, #192
800093e: cmp r2, #128
8000940: it eq
8000942: addeq r1, #1
8000944: ldrb r2, [r3, #15]
8000946: adds r3, #16
8000948: and r2, r2, #192
800094c: cmp r2, #128
800094e: it eq
8000950: addeq r1, #1
8000952: adds r0, #4
8000954: bne #-200 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x140>
8000956: mov r6, r11
8000958: cmp.w r12, #0
800095c: beq #240 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x300>
800095e: ldrb r0, [r3]
8000960: ldrb r2, [r3, #1]
8000962: and r0, r0, #192
8000966: ldrb r4, [r3, #2]
8000968: cmp r0, #128
800096a: ldrb r5, [r3, #3]
800096c: and r0, r2, #192
8000970: it eq
8000972: addeq r1, #1
8000974: cmp r0, #128
8000976: and r0, r4, #192
800097a: it eq
800097c: addeq r1, #1
800097e: cmp r0, #128
8000980: and r0, r5, #192
8000984: it eq
8000986: addeq r1, #1
8000988: cmp r0, #128
800098a: it eq
800098c: addeq r1, #1
800098e: cmp.w r12, #1
8000992: bne #42 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x270>
8000994: adds r3, #4
8000996: b #182 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x300>
8000998: cmp r2, r9
800099a: bhs #8 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x256>
800099c: ldrsb r0, [r6, r2]
800099e: cmn.w r0, #64
80009a2: bge.w #-488 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x6e>
80009a6: movs r0, #0
80009a8: movs r2, #0
80009aa: cmp r0, #0
80009ac: ite eq
80009ae: moveq r2, r9
80009b0: movne r6, r0
80009b2: cmp.w lr, #1
80009b6: beq.w #652 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x4f6>
80009ba: ldrd r0, r1, [r10, #24]
80009be: b #678 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x518>
80009c0: ldrb r0, [r3, #4]
80009c2: ldrb r2, [r3, #5]
80009c4: and r0, r0, #192
80009c8: ldrb r4, [r3, #6]
80009ca: cmp r0, #128
80009cc: ldrb r5, [r3, #7]
80009ce: and r0, r2, #192
80009d2: it eq
80009d4: addeq r1, #1
80009d6: cmp r0, #128
80009d8: and r0, r4, #192
80009dc: it eq
80009de: addeq r1, #1
80009e0: cmp r0, #128
80009e2: and r0, r5, #192
80009e6: it eq
80009e8: addeq r1, #1
80009ea: cmp r0, #128
80009ec: it eq
80009ee: addeq r1, #1
80009f0: cmp.w r12, #2
80009f4: bne #34 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x2ca>
80009f6: adds r3, #8
80009f8: b #84 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x300>
80009fa: movs r1, #0
80009fc: mov r3, r5
80009fe: cmp r0, #224
8000a00: blo.w #-594 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x62>
8000a04: cmp r3, r5
8000a06: beq.w #514 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x4bc>
8000a0a: ldrb r6, [r3], #1
8000a0e: and r6, r6, #63
8000a12: cmp r0, #240
8000a14: blo.w #-614 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x62>
8000a18: b #506 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x4c6>
8000a1a: ldrb r0, [r3, #8]
8000a1c: mov r4, r6
8000a1e: ldrb r2, [r3, #9]
8000a20: and r0, r0, #192
8000a24: ldrb r6, [r3, #10]
8000a26: ldrb r5, [r3, #11]
8000a28: cmp r0, #128
8000a2a: it eq
8000a2c: addeq r1, #1
8000a2e: and r0, r2, #192
8000a32: cmp r0, #128
8000a34: and r0, r6, #192
8000a38: it eq
8000a3a: addeq r1, #1
8000a3c: cmp r0, #128
8000a3e: it eq
8000a40: addeq r1, #1
8000a42: and r0, r5, #192
8000a46: cmp r0, #128
8000a48: mov r6, r4
8000a4a: it eq
8000a4c: addeq r1, #1
8000a4e: adds r3, #12
8000a50: cmp.w lr, #0
8000a54: beq #46 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x336>
8000a56: ldrb r0, [r3]
8000a58: and r0, r0, #192
8000a5c: cmp r0, #128
8000a5e: it eq
8000a60: addeq r1, #1
8000a62: cmp.w lr, #1
8000a66: beq #28 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x336>
8000a68: ldrb r0, [r3, #1]
8000a6a: and r0, r0, #192
8000a6e: cmp r0, #128
8000a70: it eq
8000a72: addeq r1, #1
8000a74: cmp.w lr, #2
8000a78: beq #10 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x336>
8000a7a: ldrb r0, [r3, #2]
8000a7c: and r0, r0, #192
8000a80: cmp r0, #128
8000a82: it eq
8000a84: addeq r1, #1
8000a86: ldr.w r11, [r10, #12]
8000a8a: sub.w r0, r9, r1
8000a8e: cmp r0, r11
8000a90: bhs.w #458 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x50e>
8000a94: cmp.w r8, #3
8000a98: bhs #4 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x350>
8000a9a: movs r2, #0
8000a9c: mov r3, r6
8000a9e: b #524 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x55e>
8000aa0: sub.w r0, r9, #4
8000aa4: bic r2, r0, #3
8000aa8: movs r0, #1
8000aaa: cmp r2, #12
8000aac: add.w r0, r0, r2, lsr #2
8000ab0: and r12, r0, #3
8000ab4: bhs #4 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x36c>
8000ab6: movs r2, #0
8000ab8: mov r3, r6
8000aba: b #210 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x440>
8000abc: bic r0, r0, #3
8000ac0: movs r2, #0
8000ac2: rsbs r4, r0, #0
8000ac4: mov r8, r6
8000ac6: mov r3, r6
8000ac8: ldrb r0, [r3]
8000aca: ldrb r5, [r3, #1]
8000acc: and r0, r0, #192
8000ad0: ldrb r6, [r3, #2]
8000ad2: cmp r0, #128
8000ad4: ldrb r1, [r3, #3]
8000ad6: it eq
8000ad8: addeq r2, #1
8000ada: and r0, r5, #192
8000ade: cmp r0, #128
8000ae0: it eq
8000ae2: addeq r2, #1
8000ae4: and r0, r6, #192
8000ae8: cmp r0, #128
8000aea: it eq
8000aec: addeq r2, #1
8000aee: and r0, r1, #192
8000af2: cmp r0, #128
8000af4: it eq
8000af6: addeq r2, #1
8000af8: ldrb r0, [r3, #4]
8000afa: and r0, r0, #192
8000afe: cmp r0, #128
8000b00: it eq
8000b02: addeq r2, #1
8000b04: ldrb r0, [r3, #5]
8000b06: and r0, r0, #192
8000b0a: cmp r0, #128
8000b0c: it eq
8000b0e: addeq r2, #1
8000b10: ldrb r0, [r3, #6]
8000b12: and r0, r0, #192
8000b16: cmp r0, #128
8000b18: it eq
8000b1a: addeq r2, #1
8000b1c: ldrb r0, [r3, #7]
8000b1e: and r0, r0, #192
8000b22: cmp r0, #128
8000b24: it eq
8000b26: addeq r2, #1
8000b28: ldrb r0, [r3, #8]
8000b2a: and r0, r0, #192
8000b2e: cmp r0, #128
8000b30: it eq
8000b32: addeq r2, #1
8000b34: ldrb r0, [r3, #9]
8000b36: and r0, r0, #192
8000b3a: cmp r0, #128
8000b3c: it eq
8000b3e: addeq r2, #1
8000b40: ldrb r0, [r3, #10]
8000b42: and r0, r0, #192
8000b46: cmp r0, #128
8000b48: it eq
8000b4a: addeq r2, #1
8000b4c: ldrb r0, [r3, #11]
8000b4e: and r0, r0, #192
8000b52: cmp r0, #128
8000b54: it eq
8000b56: addeq r2, #1
8000b58: ldrb r0, [r3, #12]
8000b5a: and r0, r0, #192
8000b5e: cmp r0, #128
8000b60: it eq
8000b62: addeq r2, #1
8000b64: ldrb r0, [r3, #13]
8000b66: and r0, r0, #192
8000b6a: cmp r0, #128
8000b6c: it eq
8000b6e: addeq r2, #1
8000b70: ldrb r0, [r3, #14]
8000b72: and r0, r0, #192
8000b76: cmp r0, #128
8000b78: it eq
8000b7a: addeq r2, #1
8000b7c: ldrb r0, [r3, #15]
8000b7e: adds r3, #16
8000b80: and r0, r0, #192
8000b84: cmp r0, #128
8000b86: it eq
8000b88: addeq r2, #1
8000b8a: adds r4, #4
8000b8c: bne #-200 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x378>
8000b8e: mov r6, r8
8000b90: cmp.w r12, #0
8000b94: beq.w #278 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x55e>
8000b98: ldrb r0, [r3]
8000b9a: ldrb r1, [r3, #1]
8000b9c: and r0, r0, #192
8000ba0: ldrb r4, [r3, #2]
8000ba2: cmp r0, #128
8000ba4: ldrb r5, [r3, #3]
8000ba6: and r0, r1, #192
8000baa: it eq
8000bac: addeq r2, #1
8000bae: cmp r0, #128
8000bb0: and r0, r4, #192
8000bb4: it eq
8000bb6: addeq r2, #1
8000bb8: cmp r0, #128
8000bba: and r0, r5, #192
8000bbe: it eq
8000bc0: addeq r2, #1
8000bc2: cmp r0, #128
8000bc4: it eq
8000bc6: addeq r2, #1
8000bc8: cmp.w r12, #1
8000bcc: bne #2 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x482>
8000bce: adds r3, #4
8000bd0: b #218 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x55e>
8000bd2: ldrb r0, [r3, #4]
8000bd4: ldrb r1, [r3, #5]
8000bd6: and r0, r0, #192
8000bda: ldrb r4, [r3, #6]
8000bdc: cmp r0, #128
8000bde: ldrb r5, [r3, #7]
8000be0: and r0, r1, #192
8000be4: it eq
8000be6: addeq r2, #1
8000be8: cmp r0, #128
8000bea: and r0, r4, #192
8000bee: it eq
8000bf0: addeq r2, #1
8000bf2: cmp r0, #128
8000bf4: and r0, r5, #192
8000bf8: it eq
8000bfa: addeq r2, #1
8000bfc: cmp r0, #128
8000bfe: it eq
8000c00: addeq r2, #1
8000c02: cmp.w r12, #2
8000c06: bne #110 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x528>
8000c08: adds r3, #8
8000c0a: b #160 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x55e>
8000c0c: movs r6, #0
8000c0e: mov r3, r5
8000c10: cmp r0, #240
8000c12: blo.w #-1124 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x62>
8000c16: orrs r1, r6
8000c18: mov.w r6, #1835008
8000c1c: and.w r0, r6, r0, lsl #18
8000c20: cmp r3, r5
8000c22: orr.w r0, r0, r1, lsl #6
8000c26: itte ne
8000c28: ldrbne r3, [r3]
8000c2a: andne r3, r3, #63
8000c2e: moveq r3, #0
8000c30: add r0, r3
8000c32: cmp.w r0, #1114112
8000c36: bne.w #-1160 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x62>
8000c3a: mov r2, r9
8000c3c: ldr r6, [sp]
8000c3e: cmp.w lr, #1
8000c42: bne.w #-652 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x26a>
8000c46: mov r9, r2
8000c48: cmp.w r9, #0
8000c4c: bne.w #-1240 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x28>
8000c50: ldr.w r11, [r10, #12]
8000c54: cmp.w r11, #0
8000c58: beq #2 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x50e>
8000c5a: movs r2, #0
8000c5c: b #132 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x594>
8000c5e: ldr.w r1, [r10, #28]
8000c62: mov r2, r9
8000c64: ldr.w r0, [r10, #24]
8000c68: ldr r3, [r1, #12]
8000c6a: mov r1, r6
8000c6c: add sp, #4
8000c6e: pop.w {r8, r9, r10, r11}
8000c72: pop.w {r4, r5, r6, r7, lr}
8000c76: bx r3
8000c78: ldrb r0, [r3, #8]
8000c7a: mov r4, r6
8000c7c: ldrb r1, [r3, #9]
8000c7e: and r0, r0, #192
8000c82: ldrb r6, [r3, #10]
8000c84: ldrb r5, [r3, #11]
8000c86: cmp r0, #128
8000c88: it eq
8000c8a: addeq r2, #1
8000c8c: and r0, r1, #192
8000c90: cmp r0, #128
8000c92: and r0, r6, #192
8000c96: it eq
8000c98: addeq r2, #1
8000c9a: cmp r0, #128
8000c9c: it eq
8000c9e: addeq r2, #1
8000ca0: and r0, r5, #192
8000ca4: cmp r0, #128
8000ca6: mov r6, r4
8000ca8: it eq
8000caa: addeq r2, #1
8000cac: adds r3, #12
8000cae: cmp.w lr, #0
8000cb2: beq #46 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x594>
8000cb4: ldrb r0, [r3]
8000cb6: and r0, r0, #192
8000cba: cmp r0, #128
8000cbc: it eq
8000cbe: addeq r2, #1
8000cc0: cmp.w lr, #1
8000cc4: beq #28 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x594>
8000cc6: ldrb r0, [r3, #1]
8000cc8: and r0, r0, #192
8000ccc: cmp r0, #128
8000cce: it eq
8000cd0: addeq r2, #1
8000cd2: cmp.w lr, #2
8000cd6: beq #10 <core::fmt::Formatter::pad::h5aee0767df5fab5b+0x594>
8000cd8: ldrb r0, [r3, #2]
8000cda: and r0, r0, #192
8000cde: cmp r0, #128
8000ce0: it eq
8000ce2: addeq r2, #1
8000ce4: ldrb.w r0, [r10, #32]
8000ce8: subs r3, r0, #3
8000cea: it ne
8000cec: movne r3, r0
8000cee: sub.w r0, r2, r9
8000cf2: add.w r1, r0, r11
8000cf6: movs r0, #0
8000cf8: mov r5, r1
8000cfa: tbb [pc, r3]
08000cfe <$d.16>:
8000cfe: 08 02 05 02 .word 0x02050208
08000d02 <$t.17>:
8000d02: movs r5, #0
8000d04: mov r0, r1
8000d06: b #4 <$t.17+0xc>
8000d08: lsrs r0, r1, #1
8000d0a: adds r1, #1
8000d0c: lsrs r5, r1, #1
8000d0e: adds r4, r0, #1
8000d10: subs r4, #1
8000d12: beq #16 <$t.17+0x24>
8000d14: ldrd r0, r2, [r10, #24]
8000d18: ldr.w r1, [r10, #4]
8000d1c: ldr r2, [r2, #16]
8000d1e: blx r2
8000d20: cmp r0, #0
8000d22: beq #-22 <$t.17+0xe>
8000d24: b #38 <$t.17+0x4c>
8000d26: ldrd r0, r1, [r10, #24]
8000d2a: mov r2, r9
8000d2c: ldr r3, [r1, #12]
8000d2e: mov r1, r6
8000d30: ldr.w r11, [r10, #4]
8000d34: blx r3
8000d36: cbnz r0, #20
8000d38: ldrd r6, r4, [r10, #24]
8000d3c: adds r5, #1
8000d3e: subs r5, #1
8000d40: beq #20 <$t.17+0x56>
8000d42: ldr r2, [r4, #16]
8000d44: mov r0, r6
8000d46: mov r1, r11
8000d48: blx r2
8000d4a: cmp r0, #0
8000d4c: beq #-18 <$t.17+0x3c>
8000d4e: movs r0, #1
8000d50: add sp, #4
8000d52: pop.w {r8, r9, r10, r11}
8000d56: pop {r4, r5, r6, r7, pc}
8000d58: movs r0, #0
8000d5a: add sp, #4
8000d5c: pop.w {r8, r9, r10, r11}
8000d60: pop {r4, r5, r6, r7, pc}
08000d62 <<&T as core::fmt::Display>::fmt::h8d3ce3e0f531a00f>:
8000d62: mov r3, r1
8000d64: ldrd r1, r2, [r0]
8000d68: mov r0, r3
8000d6a: b.w #-1566 <core::fmt::Formatter::pad::h5aee0767df5fab5b>
08000d6e <core::fmt::write::h80569384cfc0e88a>:
8000d6e: push {r4, r5, r6, r7, lr}
8000d70: add r7, sp, #12
8000d72: push.w {r8, r9, r10, r11}
8000d76: sub sp, #52
8000d78: mov r4, r2
8000d7a: movs r2, #3
8000d7c: ldr r5, [r4, #8]
8000d7e: strb.w r2, [sp, #48]
8000d82: movs r2, #32
8000d84: str r2, [sp, #20]
8000d86: movs r2, #0
8000d88: cmp r5, #0
8000d8a: str r2, [sp, #16]
8000d8c: strd r0, r1, [sp, #40]
8000d90: str r2, [sp, #32]
8000d92: str r2, [sp, #24]
8000d94: beq #248 <core::fmt::write::h80569384cfc0e88a+0x122>
8000d96: ldr.w r11, [r4, #12]
8000d9a: ldrd r6, r9, [r4]
8000d9e: cmp r11, r9
8000da0: it hi
8000da2: movhi r11, r9
8000da4: cmp.w r11, #0
8000da8: str r6, [sp, #8]
8000daa: beq.w #314 <core::fmt::write::h80569384cfc0e88a+0x17a>
8000dae: str.w r9, [sp, #4]
8000db2: ldr r3, [r1, #12]
8000db4: ldrd r1, r2, [r6]
8000db8: blx r3
8000dba: cmp r0, #0
8000dbc: bne.w #336 <core::fmt::write::h80569384cfc0e88a+0x1a2>
8000dc0: ldrd r9, r0, [r4, #16]
8000dc4: sub.w r6, r11, #1
8000dc8: add.w r8, r5, #16
8000dcc: mov.w r10, #0
8000dd0: str r0, [sp, #12]
8000dd2: add.w r1, r5, r10, lsl #2
8000dd6: ldrd r2, r0, [r1, #20]
8000dda: ldrd r3, r4, [r1, #4]
8000dde: str r3, [sp, #20]
8000de0: ldrb r3, [r1, #28]
8000de2: strb.w r3, [sp, #48]
8000de6: str r4, [sp, #16]
8000de8: cbz r2, #34
8000dea: cmp r2, #2
8000dec: beq #34 <core::fmt::write::h80569384cfc0e88a+0xa4>
8000dee: ldr r2, [sp, #12]
8000df0: cmp r0, r2
8000df2: bhs.w #320 <core::fmt::write::h80569384cfc0e88a+0x1c8>
8000df6: add.w r2, r9, r0, lsl #3
8000dfa: movw r3, #1059
8000dfe: movt r3, #2048
8000e02: ldr r2, [r2, #4]
8000e04: cmp r2, r3
8000e06: bne #8 <core::fmt::write::h80569384cfc0e88a+0xa4>
8000e08: ldr.w r0, [r9, r0, lsl #3]
8000e0c: ldr r0, [r0]
8000e0e: movs r2, #1
8000e10: b #0 <core::fmt::write::h80569384cfc0e88a+0xa6>
8000e12: movs r2, #0
8000e14: strd r2, r0, [sp, #24]
8000e18: ldr r1, [r1, #12]
8000e1a: ldr.w r0, [r8]
8000e1e: cbz r1, #34
8000e20: cmp r1, #2
8000e22: beq #34 <core::fmt::write::h80569384cfc0e88a+0xda>
8000e24: ldr r1, [sp, #12]
8000e26: cmp r0, r1
8000e28: bhs.w #266 <core::fmt::write::h80569384cfc0e88a+0x1c8>
8000e2c: add.w r1, r9, r0, lsl #3
8000e30: movw r2, #1059
8000e34: movt r2, #2048
8000e38: ldr r1, [r1, #4]
8000e3a: cmp r1, r2
8000e3c: bne #8 <core::fmt::write::h80569384cfc0e88a+0xda>
8000e3e: ldr.w r0, [r9, r0, lsl #3]
8000e42: ldr r0, [r0]
8000e44: movs r1, #1
8000e46: b #0 <core::fmt::write::h80569384cfc0e88a+0xdc>
8000e48: movs r1, #0
8000e4a: strd r1, r0, [sp, #32]
8000e4e: ldr r0, [r8, #-16]
8000e52: ldr r1, [sp, #12]
8000e54: cmp r0, r1
8000e56: bhs #210 <core::fmt::write::h80569384cfc0e88a+0x1be>
8000e58: ldr.w r1, [r9, r0, lsl #3]
8000e5c: add.w r0, r9, r0, lsl #3
8000e60: ldr r2, [r0, #4]
8000e62: mov r0, r1
8000e64: add r1, sp, #16
8000e66: blx r2
8000e68: cmp r0, #0
8000e6a: bne #162 <core::fmt::write::h80569384cfc0e88a+0x1a2>
8000e6c: cmp r6, #0
8000e6e: beq #168 <core::fmt::write::h80569384cfc0e88a+0x1ac>
8000e70: ldr r0, [sp, #8]
8000e72: add r0, r10
8000e74: ldrd r1, r2, [r0, #8]
8000e78: ldrd r0, r3, [sp, #40]
8000e7c: ldr r3, [r3, #12]
8000e7e: blx r3
8000e80: subs r6, #1
8000e82: add.w r8, r8, #32
8000e86: add.w r10, r10, #8
8000e8a: cmp r0, #0
8000e8c: beq #-190 <core::fmt::write::h80569384cfc0e88a+0x64>
8000e8e: b #126 <core::fmt::write::h80569384cfc0e88a+0x1a2>
8000e90: ldr.w r11, [r4, #20]
8000e94: ldrd r6, r9, [r4]
8000e98: cmp r11, r9
8000e9a: it hi
8000e9c: movhi r11, r9
8000e9e: cmp.w r11, #0
8000ea2: str r6, [sp, #8]
8000ea4: beq #74 <core::fmt::write::h80569384cfc0e88a+0x184>
8000ea6: ldr r3, [r1, #12]
8000ea8: ldrd r1, r2, [r6]
8000eac: ldr r4, [r4, #16]
8000eae: blx r3
8000eb0: cbnz r0, #92
8000eb2: ldr r0, [sp, #8]
8000eb4: sub.w r6, r11, #1
8000eb8: adds r4, #4
8000eba: add.w r8, sp, #16
8000ebe: add.w r5, r0, #8
8000ec2: ldr r0, [r4, #-4]
8000ec6: mov r1, r8
8000ec8: ldr r2, [r4]
8000eca: blx r2
8000ecc: cbnz r0, #64
8000ece: cbz r6, #36
8000ed0: ldrd r0, r1, [sp, #40]
8000ed4: ldr r3, [r1, #12]
8000ed6: ldrd r1, r2, [r5]
8000eda: blx r3
8000edc: subs r6, #1
8000ede: adds r4, #8
8000ee0: adds r5, #8
8000ee2: cmp r0, #0
8000ee4: beq #-38 <core::fmt::write::h80569384cfc0e88a+0x154>
8000ee6: b #38 <core::fmt::write::h80569384cfc0e88a+0x1a2>
8000ee8: mov.w r11, #0
8000eec: cmp r9, r11
8000eee: bhi #8 <core::fmt::write::h80569384cfc0e88a+0x18c>
8000ef0: b #46 <core::fmt::write::h80569384cfc0e88a+0x1b4>
8000ef2: mov.w r11, #0
8000ef6: cmp r9, r11
8000ef8: bls #38 <core::fmt::write::h80569384cfc0e88a+0x1b4>
8000efa: ldr r0, [sp, #8]
8000efc: ldr.w r1, [r0, r11, lsl #3]
8000f00: add.w r0, r0, r11, lsl #3
8000f04: ldr r2, [r0, #4]
8000f06: ldrd r0, r3, [sp, #40]
8000f0a: ldr r3, [r3, #12]
8000f0c: blx r3
8000f0e: cbz r0, #16
8000f10: movs r0, #1
8000f12: add sp, #52
8000f14: pop.w {r8, r9, r10, r11}
8000f18: pop {r4, r5, r6, r7, pc}
8000f1a: ldr.w r9, [sp, #4]
8000f1e: cmp r9, r11
8000f20: bhi #-42 <core::fmt::write::h80569384cfc0e88a+0x18c>
8000f22: movs r0, #0
8000f24: add sp, #52
8000f26: pop.w {r8, r9, r10, r11}
8000f2a: pop {r4, r5, r6, r7, pc}
8000f2c: movw r2, #6668
8000f30: movt r2, #2048
8000f34: b #6 <core::fmt::write::h80569384cfc0e88a+0x1d0>
8000f36: movw r2, #6652
8000f3a: movt r2, #2048
8000f3e: ldr r1, [sp, #12]
8000f40: bl #-2846
8000f44: trap
08000f46 <<&T as core::fmt::Display>::fmt::hdc378f076c9cd981>:
8000f46: push {r4, r5, r6, r7, lr}
8000f48: add r7, sp, #12
8000f4a: push.w {r8, r9, r11}
8000f4e: sub sp, #24
8000f50: ldr.w lr, [r0]
8000f54: mov r2, sp
8000f56: ldrd r12, r1, [r1, #24]
8000f5a: mov r3, r2
8000f5c: ldm.w lr, {r0, r4, r5, r6, r8, r9}
8000f60: stm.w r3, {r0, r4, r5, r6, r8, r9}
8000f64: mov r0, r12
8000f66: bl #-508
8000f6a: add sp, #24
8000f6c: pop.w {r8, r9, r11}
8000f70: pop {r4, r5, r6, r7, pc}
08000f72 <<&T as core::fmt::Display>::fmt::h7eb1ffaa6e4006b7>:
8000f72: ldr r0, [r0]
8000f74: mov r3, r1
8000f76: ldrd r1, r2, [r0]
8000f7a: mov r0, r3
8000f7c: b.w #-2096 <core::fmt::Formatter::pad::h5aee0767df5fab5b>
08000f80 <WWDG>:
8000f80: b #-4 <WWDG>
08000f82 <__pre_init>:
8000f82: bx lr
08000f84 <rust_begin_unwind>:
8000f84: push {r7, lr}
8000f86: mov r7, sp
8000f88: sub sp, #56
8000f8a: str r0, [sp]
8000f8c: movw r0, #0
8000f90: cpsid i
8000f92: movt r0, #8192
8000f96: ldr r1, [r0, #16]
8000f98: cmp r1, #0
8000f9a: itt ne
8000f9c: ldrne r1, [r0, #28]
8000f9e: cmpne r1, #0
8000fa0: bne #0 <rust_begin_unwind+0x20>
8000fa2: b #-4 <rust_begin_unwind+0x1e>
8000fa4: ldr r1, [r0, #44]
8000fa6: movs r2, #2
8000fa8: dmb sy
8000fac: bfi r1, r2, #0, #2
8000fb0: dmb sy
8000fb4: str r1, [r0, #44]
8000fb6: movw r1, #4173
8000fba: movt r1, #2048
8000fbe: dmb sy
8000fc2: str r1, [sp, #8]
8000fc4: mov r1, sp
8000fc6: str r1, [sp, #4]
8000fc8: ldr r1, [r0, #36]
8000fca: dmb sy
8000fce: ldr r2, [r0, #40]
8000fd0: dmb sy
8000fd4: ldr r3, [r0, #32]
8000fd6: cmp r1, r3
8000fd8: it lo
8000fda: cmplo r2, r3
8000fdc: blo #20 <rust_begin_unwind+0x70>
8000fde: movs r1, #0
8000fe0: dmb sy
8000fe4: str r1, [r0, #36]
8000fe6: dmb sy
8000fea: dmb sy
8000fee: str r1, [r0, #40]
8000ff0: dmb sy
8000ff4: movs r2, #0
8000ff6: adds r0, #24
8000ff8: strb.w r2, [sp, #24]
8000ffc: movs r4, #2
8000ffe: strd r1, r2, [sp, #16]
8001002: movw r1, #6852
8001006: str r0, [sp, #12]
8001008: add r0, sp, #12
800100a: str r0, [sp, #28]
800100c: movs r0, #1
800100e: str r0, [sp, #52]
8001010: add r0, sp, #4
8001012: str r0, [sp, #48]
8001014: movw r0, #6772
8001018: movt r0, #2048
800101c: strd r2, r2, [sp, #40]
8001020: str r0, [sp, #32]
8001022: add r0, sp, #28
8001024: add r2, sp, #32
8001026: movt r1, #2048
800102a: str r4, [sp, #36]
800102c: bl #-706
8001030: ldrb.w r0, [sp, #24]
8001034: cmp r0, #1
8001036: bhi #-152 <rust_begin_unwind+0x1e>
8001038: ldrd r0, r1, [sp, #12]
800103c: dmb sy
8001040: str r1, [r0, #12]
8001042: dmb sy
8001046: strb.w r4, [sp, #24]
800104a: b #-172 <rust_begin_unwind+0x1e>
0800104c <<&T as core::fmt::Display>::fmt::h97889071d424683c>:
800104c: push {r4, r5, r6, r7, lr}
800104e: add r7, sp, #12
8001050: str r11, [sp, #-4]!
8001054: sub sp, #56
8001056: mov r4, r1
8001058: ldr r6, [r0]
800105a: ldrd r0, r1, [r1, #24]
800105e: movs r2, #12
8001060: ldr r3, [r1, #12]
8001062: movw r1, #6711
8001066: movt r1, #2048
800106a: blx r3
800106c: cbz r0, #10
800106e: movs r5, #1
8001070: mov r0, r5
8001072: add sp, #56
8001074: ldr r11, [sp], #4
8001078: pop {r4, r5, r6, r7, pc}
800107a: ldr r0, [r6, #8]
800107c: cbz r0, #10
800107e: str r0, [sp, #4]
8001080: movw r0, #3911
8001084: movt r0, #2048
8001088: b #42 <<&T as core::fmt::Display>::fmt::h97889071d424683c+0x6a>
800108a: ldrd r5, r0, [r6]
800108e: ldr r1, [r0, #12]
8001090: mov r0, r5
8001092: blx r1
8001094: movw r2, #43294
8001098: movt r2, #32498
800109c: eors r1, r2
800109e: movw r2, #48372
80010a2: movt r2, #60615
80010a6: eors r0, r2
80010a8: orrs r0, r1
80010aa: bne #56 <<&T as core::fmt::Display>::fmt::h97889071d424683c+0x9a>
80010ac: movw r0, #3955
80010b0: str r5, [sp, #4]
80010b2: movt r0, #2048
80010b6: str r0, [sp, #12]
80010b8: add r0, sp, #4
80010ba: str r0, [sp, #8]
80010bc: movs r5, #1
80010be: add r2, sp, #8
80010c0: ldr r0, [r4, #24]
80010c2: ldr r1, [r4, #28]
80010c4: str r5, [sp, #52]
80010c6: str r2, [sp, #48]
80010c8: movs r2, #0
80010ca: str r2, [sp, #44]
80010cc: str r2, [sp, #40]
80010ce: movs r2, #2
80010d0: str r2, [sp, #36]
80010d2: movw r2, #6724
80010d6: movt r2, #2048
80010da: str r2, [sp, #32]
80010dc: add r2, sp, #32
80010de: bl #-884
80010e2: cmp r0, #0
80010e4: bne #-120 <<&T as core::fmt::Display>::fmt::h97889071d424683c+0x24>
80010e6: ldr r0, [r6, #12]
80010e8: movw r1, #1129
80010ec: movt r1, #2048
80010f0: add r3, sp, #8
80010f2: add.w r2, r0, #12
80010f6: str r1, [sp, #28]
80010f8: strd r1, r2, [sp, #20]
80010fc: add.w r1, r0, #8
8001100: str r1, [sp, #16]
8001102: movw r1, #3427
8001106: movt r1, #2048
800110a: movs r2, #3
800110c: strd r0, r1, [sp, #8]
8001110: ldrd r0, r1, [r4, #24]
8001114: str r3, [sp, #48]
8001116: movs r3, #0
8001118: str r2, [sp, #52]
800111a: str r3, [sp, #44]
800111c: strd r2, r3, [sp, #36]
8001120: movw r2, #6740
8001124: movt r2, #2048
8001128: str r2, [sp, #32]
800112a: add r2, sp, #32
800112c: bl #-962
8001130: mov r5, r0
8001132: mov r0, r5
8001134: add sp, #56
8001136: ldr r11, [sp], #4
800113a: pop {r4, r5, r6, r7, pc}
0800113c <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3>:
800113c: push {r4, r5, r6, r7, lr}
800113e: add r7, sp, #12
8001140: push.w {r8, r9, r10, r11}
8001144: sub sp, #4
8001146: cmp r3, #0
8001148: beq.w #396 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x19c>
800114c: mov r5, r0
800114e: ldrb r0, [r0, #12]
8001150: cmp r0, #0
8001152: bne.w #386 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x19c>
8001156: mov r4, r3
8001158: mov r9, r2
800115a: mov r8, r1
800115c: mov.w r10, #0
8001160: mov.w r11, #1
8001164: cmp.w r8, #0
8001168: beq #178 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0xe2>
800116a: cmp.w r8, #1
800116e: bne #76 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x82>
8001170: ldr r0, [r5]
8001172: ldr r3, [r0, #12]
8001174: dmb sy
8001178: ldr r1, [r0, #16]
800117a: dmb sy
800117e: ldr r2, [r0, #8]
8001180: cmp r3, r2
8001182: it lo
8001184: cmplo r1, r2
8001186: blo #206 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x11c>
8001188: dmb sy
800118c: str.w r10, [r0, #12]
8001190: dmb sy
8001194: dmb sy
8001198: str.w r10, [r0, #16]
800119c: dmb sy
80011a0: ldrd r1, r0, [r5]
80011a4: mvns r2, r0
80011a6: ldr r1, [r1, #8]
80011a8: b #180 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x124>
80011aa: ldr r1, [r5]
80011ac: dmb sy
80011b0: str r0, [r1, #12]
80011b2: dmb sy
80011b6: ldrb r0, [r5, #12]
80011b8: cmp r0, #0
80011ba: bne.w #282 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x19c>
80011be: ldr r0, [r5]
80011c0: ldr r3, [r0, #12]
80011c2: dmb sy
80011c6: ldr r1, [r0, #16]
80011c8: dmb sy
80011cc: ldr r2, [r0, #8]
80011ce: cmp r3, r2
80011d0: it lo
80011d2: cmplo r1, r2
80011d4: blo #32 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0xbc>
80011d6: dmb sy
80011da: str.w r10, [r0, #12]
80011de: dmb sy
80011e2: dmb sy
80011e6: str.w r10, [r0, #16]
80011ea: dmb sy
80011ee: ldrd r1, r0, [r5]
80011f2: mvns r2, r0
80011f4: ldr r1, [r1, #8]
80011f6: b #6 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0xc4>
80011f8: ldr r0, [r5, #4]
80011fa: cmp r1, r0
80011fc: bls #4 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0xc8>
80011fe: mvns r2, r0
8001200: adds r6, r1, r2
8001202: b #12 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0xd6>
8001204: ldr r2, [r5]
8001206: cmp r1, #0
8001208: ldr r2, [r2, #8]
800120a: sub.w r6, r2, r0
800120e: it eq
8001210: subeq r6, #1
8001212: cmp r6, r4
8001214: it hi
8001216: movhi r6, r4
8001218: cmp r6, #0
800121a: beq #-116 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x6e>
800121c: b #134 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x16a>
800121e: ldr r0, [r5]
8001220: ldr r3, [r0, #12]
8001222: dmb sy
8001226: ldr r1, [r0, #16]
8001228: dmb sy
800122c: ldr r2, [r0, #8]
800122e: cmp r3, r2
8001230: it lo
8001232: cmplo r1, r2
8001234: blo #44 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x128>
8001236: dmb sy
800123a: str.w r10, [r0, #12]
800123e: dmb sy
8001242: dmb sy
8001246: str.w r10, [r0, #16]
800124a: dmb sy
800124e: ldrd r1, r0, [r5]
8001252: mvns r2, r0
8001254: ldr r1, [r1, #8]
8001256: b #18 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x130>
8001258: ldr r0, [r5, #4]
800125a: cmp r1, r0
800125c: bls #16 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x134>
800125e: mvns r2, r0
8001260: adds r6, r1, r2
8001262: b #24 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x142>
8001264: ldr r0, [r5, #4]
8001266: cmp r1, r0
8001268: bls #36 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x154>
800126a: mvns r2, r0
800126c: adds r6, r1, r2
800126e: b #44 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x162>
8001270: ldr r2, [r5]
8001272: cmp r1, #0
8001274: ldr r2, [r2, #8]
8001276: sub.w r6, r2, r0
800127a: it eq
800127c: subeq r6, #1
800127e: cmp r6, r4
8001280: it hi
8001282: movhi r6, r4
8001284: cmp r6, #0
8001286: itt eq
8001288: strbeq.w r11, [r5, #12]
800128c: moveq r6, #0
800128e: b #20 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x16a>
8001290: ldr r2, [r5]
8001292: cmp r1, #0
8001294: ldr r2, [r2, #8]
8001296: sub.w r6, r2, r0
800129a: it eq
800129c: subeq r6, #1
800129e: cmp r6, r4
80012a0: it hi
80012a2: movhi r6, r4
80012a4: cbz r6, #56
80012a6: ldr r1, [r5]
80012a8: mov r2, r6
80012aa: ldr r1, [r1, #4]
80012ac: add r0, r1
80012ae: mov r1, r9
80012b0: bl #1106
80012b4: ldm.w r5, {r0, r1, r2}
80012b8: add r2, r6
80012ba: add r1, r6
80012bc: strd r1, r2, [r5, #4]
80012c0: ldr r0, [r0, #8]
80012c2: cmp r1, r0
80012c4: it hs
80012c6: strhs.w r10, [r5, #4]
80012ca: subs r4, r4, r6
80012cc: beq #8 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x19c>
80012ce: ldrb r0, [r5, #12]
80012d0: add r9, r6
80012d2: cmp r0, #0
80012d4: beq.w #-372 <rtt_target::rtt::RttWriter::write_with_mode::h14da72817387f4e3+0x28>
80012d8: add sp, #4
80012da: pop.w {r8, r9, r10, r11}
80012de: pop {r4, r5, r6, r7, pc}
80012e0: movs r0, #2
80012e2: strb r0, [r5, #12]
80012e4: add sp, #4
80012e6: pop.w {r8, r9, r10, r11}
80012ea: pop {r4, r5, r6, r7, pc}
080012ec <core::ops::function::FnOnce::call_once::hd7b6c460e03cd94d>:
80012ec: push {r4, r6, r7, lr}
80012ee: add r7, sp, #8
80012f0: mrs r4, primask
80012f4: cpsid i
80012f6: blx r1
80012f8: lsls r0, r4, #31
80012fa: it ne
80012fc: popne {r4, r6, r7, pc}
80012fe: cpsie i
8001300: pop {r4, r6, r7, pc}
08001302 <core::ops::function::FnOnce::call_once::h9b5a5cf843ee09ec>:
8001302: push {r4, r5, r6, r7, lr}
8001304: add r7, sp, #12
8001306: str r11, [sp, #-4]!
800130a: sub sp, #48
800130c: movw r5, #1072
8001310: mov r4, r0
8001312: movt r5, #8192
8001316: ldrb r6, [r0]
8001318: ldr r0, [r5, #4]
800131a: ldr r1, [r0, #12]
800131c: dmb sy
8001320: ldr r2, [r0, #16]
8001322: dmb sy
8001326: ldr r3, [r0, #8]
8001328: cmp r1, r3
800132a: it lo
800132c: cmplo r2, r3
800132e: blo #20 <core::ops::function::FnOnce::call_once::h9b5a5cf843ee09ec+0x44>
8001330: movs r1, #0
8001332: dmb sy
8001336: str r1, [r0, #12]
8001338: dmb sy
800133c: dmb sy
8001340: str r1, [r0, #16]
8001342: dmb sy
8001346: movs r2, #0
8001348: add r3, sp, #32
800134a: strb.w r2, [sp, #44]
800134e: stm r3!, {r0, r1, r2}
8001350: ldrb r0, [r5, #8]
8001352: cmp r0, r6
8001354: beq #58 <core::ops::function::FnOnce::call_once::h9b5a5cf843ee09ec+0x90>
8001356: movw r1, #6812
800135a: and r0, r6, #15
800135e: movt r1, #2048
8001362: movs r3, #2
8001364: ldrb r0, [r1, r0]
8001366: ldr r1, [r5, #4]
8001368: ldr r1, [r1, #20]
800136a: dmb sy
800136e: strb.w r0, [sp, #5]
8001372: movs r0, #255
8001374: strb.w r0, [sp, #4]
8001378: and r0, r1, #3
800137c: subs r2, r0, #3
800137e: it ne
8001380: movne r2, r0
8001382: subs r1, r2, #1
8001384: it ne
8001386: movne r1, r2
8001388: add r0, sp, #32
800138a: add r2, sp, #4
800138c: bl #-596
8001390: strb r6, [r5, #8]
8001392: add r3, sp, #32
8001394: add.w r12, sp, #4
8001398: ldm r3, {r0, r1, r2, r3}
800139a: stm.w r12, {r0, r1, r2, r3}
800139e: ldrh r1, [r7, #-35]
80013a2: strh.w r1, [sp, #25]
80013a6: ldrb r1, [r7, #-33]
80013aa: strb.w r1, [sp, #27]
80013ae: add.w r1, r5, #8
80013b2: str r1, [sp, #20]
80013b4: ldr r1, [r4, #4]
80013b6: strb.w r6, [sp, #24]
80013ba: ldrd r2, r3, [r1]
80013be: ldr r0, [r0, #20]
80013c0: and r0, r0, #3
80013c4: subs r1, r0, #3
80013c6: it ne
80013c8: movne r1, r0
80013ca: add r0, sp, #4
80013cc: dmb sy
80013d0: bl #-664
80013d4: ldrb.w r0, [sp, #16]
80013d8: cmp r0, #2
80013da: bne #14 <core::ops::function::FnOnce::call_once::h9b5a5cf843ee09ec+0xea>
80013dc: ldr r0, [sp, #20]
80013de: ldrb.w r1, [sp, #24]
80013e2: strb r1, [r0]
80013e4: add sp, #48
80013e6: ldr r11, [sp], #4
80013ea: pop {r4, r5, r6, r7, pc}
80013ec: cmp r0, #1
80013ee: bhi #-14 <core::ops::function::FnOnce::call_once::h9b5a5cf843ee09ec+0xe2>
80013f0: ldrd r0, r1, [sp, #4]
80013f4: dmb sy
80013f8: str r1, [r0, #12]
80013fa: movs r0, #2
80013fc: dmb sy
8001400: strb.w r0, [sp, #16]
8001404: add sp, #48
8001406: ldr r11, [sp], #4
800140a: pop {r4, r5, r6, r7, pc}
0800140c <core::ops::function::FnOnce::call_once::h3bccbca78aa07f1d>:
800140c: push {r4, r5, r6, r7, lr}
800140e: add r7, sp, #12
8001410: str r11, [sp, #-4]!
8001414: sub sp, #56
8001416: movw r5, #1072
800141a: mov r4, r0
800141c: movt r5, #8192
8001420: ldrb r6, [r0]
8001422: ldr r0, [r5, #4]
8001424: ldr r1, [r0, #12]
8001426: dmb sy
800142a: ldr r2, [r0, #16]
800142c: dmb sy
8001430: ldr r3, [r0, #8]
8001432: cmp r1, r3
8001434: it lo
8001436: cmplo r2, r3
8001438: blo #20 <core::ops::function::FnOnce::call_once::h3bccbca78aa07f1d+0x44>
800143a: movs r1, #0
800143c: dmb sy
8001440: str r1, [r0, #12]
8001442: dmb sy
8001446: dmb sy
800144a: str r1, [r0, #16]
800144c: dmb sy
8001450: movs r2, #0
8001452: add r3, sp, #32
8001454: strb.w r2, [sp, #44]
8001458: stm r3!, {r0, r1, r2}
800145a: ldrb r0, [r5, #8]
800145c: cmp r0, r6
800145e: beq #58 <core::ops::function::FnOnce::call_once::h3bccbca78aa07f1d+0x90>
8001460: movw r1, #6812
8001464: and r0, r6, #15
8001468: movt r1, #2048
800146c: movs r3, #2
800146e: ldrb r0, [r1, r0]
8001470: ldr r1, [r5, #4]
8001472: ldr r1, [r1, #20]
8001474: dmb sy
8001478: strb.w r0, [sp, #1]
800147c: movs r0, #255
800147e: strb.w r0, [sp]
8001482: and r0, r1, #3
8001486: subs r2, r0, #3
8001488: it ne
800148a: movne r2, r0
800148c: subs r1, r2, #1
800148e: add r0, sp, #32
8001490: it ne
8001492: movne r1, r2
8001494: mov r2, sp
8001496: bl #-862
800149a: strb r6, [r5, #8]
800149c: add r3, sp, #32
800149e: ldm r3, {r0, r1, r2, r3}
80014a0: stm.w sp, {r0, r1, r2, r3}
80014a4: mov r1, sp
80014a6: add r2, sp, #32
80014a8: ldrh r0, [r7, #-47]
80014ac: ldr.w r12, [r4, #4]
80014b0: strh.w r0, [sp, #21]
80014b4: ldrb r0, [r7, #-45]
80014b8: strb.w r0, [sp, #23]
80014bc: add.w r0, r5, #8
80014c0: str r1, [sp, #28]
80014c2: mov r1, r2
80014c4: strb.w r6, [sp, #20]
80014c8: str r0, [sp, #16]
80014ca: ldm.w r12, {r0, r3, r4, r5, r6, lr}
80014ce: stm.w r1, {r0, r3, r4, r5, r6, lr}
80014d2: movw r1, #6828
80014d6: add r0, sp, #28
80014d8: movt r1, #2048
80014dc: bl #-1906
80014e0: ldrb.w r0, [sp, #12]
80014e4: cmp r0, #2
80014e6: itttt eq
80014e8: ldreq r0, [sp, #16]
80014ea: ldrbeq.w r1, [sp, #20]
80014ee: strbeq r1, [r0]
80014f0: ldrbeq.w r0, [sp, #12]
80014f4: cmp r0, #1
80014f6: bhi #18 <core::ops::function::FnOnce::call_once::h3bccbca78aa07f1d+0x100>
80014f8: ldrd r0, r1, [sp]
80014fc: dmb sy
8001500: str r1, [r0, #12]
8001502: movs r0, #2
8001504: dmb sy
8001508: strb.w r0, [sp, #12]
800150c: add sp, #56
800150e: ldr r11, [sp], #4
8001512: pop {r4, r5, r6, r7, pc}
08001514 <core::ptr::drop_in_place::h55040f9597bf9402>:
8001514: bx lr
08001516 <<&mut W as core::fmt::Write>::write_str::hab0ae05628989313>:
8001516: push {r7, lr}
8001518: mov r7, sp
800151a: ldr r0, [r0]
800151c: mov r12, r2
800151e: mov r2, r1
8001520: ldr r1, [r0]
8001522: ldr r1, [r1, #20]
8001524: and r3, r1, #3
8001528: subs r1, r3, #3
800152a: it ne
800152c: movne r1, r3
800152e: mov r3, r12
8001530: dmb sy
8001534: bl #-1020
8001538: movs r0, #0
800153a: pop {r7, pc}
0800153c <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3>:
800153c: push {r7, lr}
800153e: mov r7, sp
8001540: sub sp, #8
8001542: ldr r0, [r0]
8001544: movs r2, #0
8001546: cmp r1, #128
8001548: str r2, [sp, #4]
800154a: bhs #6 <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3+0x18>
800154c: strb.w r1, [sp, #4]
8001550: movs r3, #1
8001552: b #106 <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3+0x84>
8001554: cmp.w r1, #2048
8001558: bhs #22 <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3+0x36>
800155a: movs r3, #2
800155c: mov r2, r1
800155e: bfi r2, r3, #6, #26
8001562: strb.w r2, [sp, #5]
8001566: movs r2, #192
8001568: orr.w r1, r2, r1, lsr #6
800156c: strb.w r1, [sp, #4]
8001570: b #76 <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3+0x84>
8001572: movs r2, #2
8001574: mov r3, r1
8001576: bfi r3, r2, #6, #26
800157a: cmp.w r1, #65536
800157e: bhs #26 <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3+0x60>
8001580: strb.w r3, [sp, #6]
8001584: movs r3, #224
8001586: orr.w r3, r3, r1, lsr #12
800158a: lsrs r1, r1, #6
800158c: strb.w r3, [sp, #4]
8001590: bfi r1, r2, #6, #26
8001594: strb.w r1, [sp, #5]
8001598: movs r3, #3
800159a: b #34 <<&mut W as core::fmt::Write>::write_char::h53205da7e139ede3+0x84>
800159c: strb.w r3, [sp, #7]
80015a0: movs r3, #240
80015a2: orr.w r3, r3, r1, lsr #18
80015a6: strb.w r3, [sp, #4]
80015aa: lsrs r3, r1, #6
80015ac: lsrs r1, r1, #12
80015ae: bfi r3, r2, #6, #26
80015b2: strb.w r3, [sp, #6]
80015b6: movs r3, #4
80015b8: bfi r1, r2, #6, #26
80015bc: strb.w r1, [sp, #5]
80015c0: ldr r1, [r0]
80015c2: ldr r1, [r1, #20]
80015c4: and r2, r1, #3
80015c8: subs r1, r2, #3
80015ca: it ne
80015cc: movne r1, r2
80015ce: add r2, sp, #4
80015d0: dmb sy
80015d4: bl #-1180
80015d8: movs r0, #0
80015da: add sp, #8
80015dc: pop {r7, pc}
080015de <<&mut W as core::fmt::Write>::write_fmt::h80971738e53d8b58>:
80015de: push {r4, r5, r6, r7, lr}
80015e0: add r7, sp, #12
80015e2: str r11, [sp, #-4]!
80015e6: sub sp, #32
80015e8: ldr r0, [r0]
80015ea: add r2, sp, #8
80015ec: str r0, [sp, #4]
80015ee: ldm.w r1, {r3, r4, r5, r6, r12, lr}
80015f2: mov r0, r2
80015f4: movw r1, #6828
80015f8: movt r1, #2048
80015fc: stm.w r0, {r3, r4, r5, r6, r12, lr}
8001600: add r0, sp, #4
8001602: bl #-2200
8001606: add sp, #32
8001608: ldr r11, [sp], #4
800160c: pop {r4, r5, r6, r7, pc}
0800160e <<&mut W as core::fmt::Write>::write_str::hbdc24f4fcb61b7c5>:
800160e: push {r7, lr}
8001610: mov r7, sp
8001612: ldr r0, [r0]
8001614: mov r12, r2
8001616: mov r2, r1
8001618: ldr r1, [r0]
800161a: ldr r1, [r1, #20]
800161c: and r3, r1, #3
8001620: subs r1, r3, #3
8001622: it ne
8001624: movne r1, r3
8001626: mov r3, r12
8001628: dmb sy
800162c: bl #-1268
8001630: movs r0, #0
8001632: pop {r7, pc}
08001634 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466>:
8001634: push {r7, lr}
8001636: mov r7, sp
8001638: sub sp, #8
800163a: ldr r0, [r0]
800163c: movs r2, #0
800163e: cmp r1, #128
8001640: str r2, [sp, #4]
8001642: bhs #6 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466+0x18>
8001644: strb.w r1, [sp, #4]
8001648: movs r3, #1
800164a: b #106 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466+0x84>
800164c: cmp.w r1, #2048
8001650: bhs #22 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466+0x36>
8001652: movs r3, #2
8001654: mov r2, r1
8001656: bfi r2, r3, #6, #26
800165a: strb.w r2, [sp, #5]
800165e: movs r2, #192
8001660: orr.w r1, r2, r1, lsr #6
8001664: strb.w r1, [sp, #4]
8001668: b #76 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466+0x84>
800166a: movs r2, #2
800166c: mov r3, r1
800166e: bfi r3, r2, #6, #26
8001672: cmp.w r1, #65536
8001676: bhs #26 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466+0x60>
8001678: strb.w r3, [sp, #6]
800167c: movs r3, #224
800167e: orr.w r3, r3, r1, lsr #12
8001682: lsrs r1, r1, #6
8001684: strb.w r3, [sp, #4]
8001688: bfi r1, r2, #6, #26
800168c: strb.w r1, [sp, #5]
8001690: movs r3, #3
8001692: b #34 <<&mut W as core::fmt::Write>::write_char::hdc0a11408e83a466+0x84>
8001694: strb.w r3, [sp, #7]
8001698: movs r3, #240
800169a: orr.w r3, r3, r1, lsr #18
800169e: strb.w r3, [sp, #4]
80016a2: lsrs r3, r1, #6
80016a4: lsrs r1, r1, #12
80016a6: bfi r3, r2, #6, #26
80016aa: strb.w r3, [sp, #6]
80016ae: movs r3, #4
80016b0: bfi r1, r2, #6, #26
80016b4: strb.w r1, [sp, #5]
80016b8: ldr r1, [r0]
80016ba: ldr r1, [r1, #20]
80016bc: and r2, r1, #3
80016c0: subs r1, r2, #3
80016c2: it ne
80016c4: movne r1, r2
80016c6: add r2, sp, #4
80016c8: dmb sy
80016cc: bl #-1428
80016d0: movs r0, #0
80016d2: add sp, #8
80016d4: pop {r7, pc}
080016d6 <<&mut W as core::fmt::Write>::write_fmt::habae32acac728259>:
80016d6: push {r4, r5, r6, r7, lr}
80016d8: add r7, sp, #12
80016da: str r11, [sp, #-4]!
80016de: sub sp, #32
80016e0: ldr r0, [r0]
80016e2: add r2, sp, #8
80016e4: str r0, [sp, #4]
80016e6: ldm.w r1, {r3, r4, r5, r6, r12, lr}
80016ea: mov r0, r2
80016ec: movw r1, #6852
80016f0: movt r1, #2048
80016f4: stm.w r0, {r3, r4, r5, r6, r12, lr}
80016f8: add r0, sp, #4
80016fa: bl #-2448
80016fe: add sp, #32
8001700: ldr r11, [sp], #4
8001704: pop {r4, r5, r6, r7, pc}
08001706 <__aeabi_memcpy>:
8001706: push {r4, r5, r6, r7, lr}
8001708: add r7, sp, #12
800170a: str r8, [sp, #-4]!
800170e: cbz r2, #16
8001710: subs r3, r2, #1
8001712: and r12, r2, #3
8001716: cmp r3, #3
8001718: bhs #12 <__aeabi_memcpy+0x22>
800171a: movs r2, #0
800171c: cmp.w r12, #0
8001720: bne #62 <__aeabi_memcpy+0x5c>
8001722: ldr r8, [sp], #4
8001726: pop {r4, r5, r6, r7, pc}
8001728: bic r2, r2, #3
800172c: add.w lr, r0, #1
8001730: rsbs r4, r2, #0
8001732: add.w r8, r1, #1
8001736: mvn r2, #3
800173a: add.w r6, r8, r2
800173e: add.w r5, lr, r2
8001742: adds r2, #4
8001744: ldrb r3, [r6, #3]
8001746: strb r3, [r5, #3]
8001748: ldrb r3, [r6, #4]
800174a: strb r3, [r5, #4]
800174c: ldrb r3, [r6, #5]
800174e: strb r3, [r5, #5]
8001750: ldrb r3, [r6, #6]
8001752: strb r3, [r5, #6]
8001754: adds r3, r4, r2
8001756: adds r3, #4
8001758: bne #-34 <__aeabi_memcpy+0x34>
800175a: adds r2, #4
800175c: cmp.w r12, #0
8001760: beq #-66 <__aeabi_memcpy+0x1c>
8001762: ldrb r3, [r1, r2]
8001764: cmp.w r12, #1
8001768: strb r3, [r0, r2]
800176a: beq #-76 <__aeabi_memcpy+0x1c>
800176c: adds r3, r2, #1
800176e: cmp.w r12, #2
8001772: ldrb r6, [r1, r3]
8001774: strb r6, [r0, r3]
8001776: beq #-88 <__aeabi_memcpy+0x1c>
8001778: adds r2, #2
800177a: ldrb r1, [r1, r2]
800177c: strb r1, [r0, r2]
800177e: ldr r8, [sp], #4
8001782: pop {r4, r5, r6, r7, pc}
08001784 <__aeabi_memset>:
8001784: push {r4, r6, r7, lr}
8001786: add r7, sp, #8
8001788: cbz r1, #62
800178a: subs r3, r1, #1
800178c: and r12, r1, #3
8001790: cmp r3, #3
8001792: bhs #2 <__aeabi_memset+0x14>
8001794: movs r1, #0
8001796: b #34 <__aeabi_memset+0x38>
8001798: bic r1, r1, #3
800179c: add.w lr, r0, #1
80017a0: rsbs r3, r1, #0
80017a2: mvn r1, #3
80017a6: add.w r4, lr, r1
80017aa: adds r1, #4
80017ac: strb r2, [r4, #6]
80017ae: strb r2, [r4, #5]
80017b0: strb r2, [r4, #4]
80017b2: strb r2, [r4, #3]
80017b4: adds r4, r3, r1
80017b6: adds r4, #4
80017b8: bne #-22 <__aeabi_memset+0x22>
80017ba: adds r1, #4
80017bc: cmp.w r12, #0
80017c0: itt ne
80017c2: strbne r2, [r0, r1]
80017c4: cmpne.w r12, #1
80017c8: bne #0 <__aeabi_memset+0x48>
80017ca: pop {r4, r6, r7, pc}
80017cc: add r0, r1
80017ce: cmp.w r12, #2
80017d2: strb r2, [r0, #1]
80017d4: it ne
80017d6: strbne r2, [r0, #2]
80017d8: pop {r4, r6, r7, pc}
080017da <__aeabi_memset4>:
80017da: push {r4, r6, r7, lr}
80017dc: add r7, sp, #8
80017de: mov r3, r2
80017e0: uxtb r2, r2
80017e2: cmp r1, #4
80017e4: blo #114 <__aeabi_memset4+0x80>
80017e6: sub.w lr, r1, #4
80017ea: orr.w r3, r2, r3, lsl #24
80017ee: movs r4, #1
80017f0: orr.w r3, r3, r2, lsl #16
80017f4: add.w r4, r4, lr, lsr #2
80017f8: orr.w r3, r3, r2, lsl #8
80017fc: ands r4, r4, #3
8001800: beq #20 <__aeabi_memset4+0x3e>
8001802: mov r12, r0
8001804: cmp r4, #1
8001806: str r3, [r12], #4
800180a: bne #18 <__aeabi_memset4+0x46>
800180c: mov r1, lr
800180e: mov r0, r12
8001810: cmp.w lr, #12
8001814: bhs #50 <__aeabi_memset4+0x70>
8001816: b #24 <__aeabi_memset4+0x58>
8001818: cmp.w lr, #12
800181c: bhs #42 <__aeabi_memset4+0x70>
800181e: b #16 <__aeabi_memset4+0x58>
8001820: cmp r4, #2
8001822: str r3, [r0, #4]
8001824: bne #20 <__aeabi_memset4+0x62>
8001826: adds r0, #8
8001828: subs r1, #8
800182a: mov r12, r0
800182c: cmp.w lr, #12
8001830: bhs #22 <__aeabi_memset4+0x70>
8001832: mov r0, r12
8001834: pop.w {r4, r6, r7, lr}
8001838: b.w #-184 <__aeabi_memset>
800183c: str r3, [r0, #8]
800183e: adds r0, #12
8001840: subs r1, #12
8001842: mov r12, r0
8001844: cmp.w lr, #12
8001848: blo #-26 <__aeabi_memset4+0x58>
800184a: strd r3, r3, [r0]
800184e: subs r1, #16
8001850: strd r3, r3, [r0, #8]
8001854: adds r0, #16
8001856: cmp r1, #3
8001858: bhi #-18 <__aeabi_memset4+0x70>
800185a: mov r12, r0
800185c: mov r0, r12
800185e: pop.w {r4, r6, r7, lr}
8001862: b.w #-226 <__aeabi_memset>
08001866 <__aeabi_memclr8>:
8001866: movs r2, #0
8001868: b.w #-146 <__aeabi_memset4>
0800186c <HardFaultTrampoline>:
800186c: mov r0, lr
800186e: movs r1, #4
8001870: tst r0, r1
8001872: bne #4 <HardFaultTrampoline+0xe>
8001874: mrs r0, msp
8001878: b #4 <HardFault_>
800187a: mrs r0, psp
800187e: b #-2 <HardFault_>
08001880 <HardFault_>:
8001880: b #-4 <HardFault_>
8001882: bmi #-88 <__aeabi_memset4+0x54>
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment