Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Disassembly of section .text:
- 080000b8 <__udivsi3>:
- 80000b8: 2200 movs r2, #0
- 80000ba: 0843 lsrs r3, r0, #1
- 80000bc: 428b cmp r3, r1
- 80000be: d374 bcc.n 80001aa <__udivsi3+0xf2>
- 80000c0: 0903 lsrs r3, r0, #4
- 80000c2: 428b cmp r3, r1
- 80000c4: d35f bcc.n 8000186 <__udivsi3+0xce>
- 80000c6: 0a03 lsrs r3, r0, #8
- 80000c8: 428b cmp r3, r1
- 80000ca: d344 bcc.n 8000156 <__udivsi3+0x9e>
- 80000cc: 0b03 lsrs r3, r0, #12
- 80000ce: 428b cmp r3, r1
- 80000d0: d328 bcc.n 8000124 <__udivsi3+0x6c>
- 80000d2: 0c03 lsrs r3, r0, #16
- 80000d4: 428b cmp r3, r1
- 80000d6: d30d bcc.n 80000f4 <__udivsi3+0x3c>
- 80000d8: 22ff movs r2, #255 @ 0xff
- 80000da: 0209 lsls r1, r1, #8
- 80000dc: ba12 rev r2, r2
- 80000de: 0c03 lsrs r3, r0, #16
- 80000e0: 428b cmp r3, r1
- 80000e2: d302 bcc.n 80000ea <__udivsi3+0x32>
- 80000e4: 1212 asrs r2, r2, #8
- 80000e6: 0209 lsls r1, r1, #8
- 80000e8: d065 beq.n 80001b6 <__udivsi3+0xfe>
- 80000ea: 0b03 lsrs r3, r0, #12
- 80000ec: 428b cmp r3, r1
- 80000ee: d319 bcc.n 8000124 <__udivsi3+0x6c>
- 80000f0: e000 b.n 80000f4 <__udivsi3+0x3c>
- 80000f2: 0a09 lsrs r1, r1, #8
- 80000f4: 0bc3 lsrs r3, r0, #15
- 80000f6: 428b cmp r3, r1
- 80000f8: d301 bcc.n 80000fe <__udivsi3+0x46>
- 80000fa: 03cb lsls r3, r1, #15
- 80000fc: 1ac0 subs r0, r0, r3
- 80000fe: 4152 adcs r2, r2
- 8000100: 0b83 lsrs r3, r0, #14
- 8000102: 428b cmp r3, r1
- 8000104: d301 bcc.n 800010a <__udivsi3+0x52>
- 8000106: 038b lsls r3, r1, #14
- 8000108: 1ac0 subs r0, r0, r3
- 800010a: 4152 adcs r2, r2
- 800010c: 0b43 lsrs r3, r0, #13
- 800010e: 428b cmp r3, r1
- 8000110: d301 bcc.n 8000116 <__udivsi3+0x5e>
- 8000112: 034b lsls r3, r1, #13
- 8000114: 1ac0 subs r0, r0, r3
- 8000116: 4152 adcs r2, r2
- 8000118: 0b03 lsrs r3, r0, #12
- 800011a: 428b cmp r3, r1
- 800011c: d301 bcc.n 8000122 <__udivsi3+0x6a>
- 800011e: 030b lsls r3, r1, #12
- 8000120: 1ac0 subs r0, r0, r3
- 8000122: 4152 adcs r2, r2
- 8000124: 0ac3 lsrs r3, r0, #11
- 8000126: 428b cmp r3, r1
- 8000128: d301 bcc.n 800012e <__udivsi3+0x76>
- 800012a: 02cb lsls r3, r1, #11
- 800012c: 1ac0 subs r0, r0, r3
- 800012e: 4152 adcs r2, r2
- 8000130: 0a83 lsrs r3, r0, #10
- 8000132: 428b cmp r3, r1
- 8000134: d301 bcc.n 800013a <__udivsi3+0x82>
- 8000136: 028b lsls r3, r1, #10
- 8000138: 1ac0 subs r0, r0, r3
- 800013a: 4152 adcs r2, r2
- 800013c: 0a43 lsrs r3, r0, #9
- 800013e: 428b cmp r3, r1
- 8000140: d301 bcc.n 8000146 <__udivsi3+0x8e>
- 8000142: 024b lsls r3, r1, #9
- 8000144: 1ac0 subs r0, r0, r3
- 8000146: 4152 adcs r2, r2
- 8000148: 0a03 lsrs r3, r0, #8
- 800014a: 428b cmp r3, r1
- 800014c: d301 bcc.n 8000152 <__udivsi3+0x9a>
- 800014e: 020b lsls r3, r1, #8
- 8000150: 1ac0 subs r0, r0, r3
- 8000152: 4152 adcs r2, r2
- 8000154: d2cd bcs.n 80000f2 <__udivsi3+0x3a>
- 8000156: 09c3 lsrs r3, r0, #7
- 8000158: 428b cmp r3, r1
- 800015a: d301 bcc.n 8000160 <__udivsi3+0xa8>
- 800015c: 01cb lsls r3, r1, #7
- 800015e: 1ac0 subs r0, r0, r3
- 8000160: 4152 adcs r2, r2
- 8000162: 0983 lsrs r3, r0, #6
- 8000164: 428b cmp r3, r1
- 8000166: d301 bcc.n 800016c <__udivsi3+0xb4>
- 8000168: 018b lsls r3, r1, #6
- 800016a: 1ac0 subs r0, r0, r3
- 800016c: 4152 adcs r2, r2
- 800016e: 0943 lsrs r3, r0, #5
- 8000170: 428b cmp r3, r1
- 8000172: d301 bcc.n 8000178 <__udivsi3+0xc0>
- 8000174: 014b lsls r3, r1, #5
- 8000176: 1ac0 subs r0, r0, r3
- 8000178: 4152 adcs r2, r2
- 800017a: 0903 lsrs r3, r0, #4
- 800017c: 428b cmp r3, r1
- 800017e: d301 bcc.n 8000184 <__udivsi3+0xcc>
- 8000180: 010b lsls r3, r1, #4
- 8000182: 1ac0 subs r0, r0, r3
- 8000184: 4152 adcs r2, r2
- 8000186: 08c3 lsrs r3, r0, #3
- 8000188: 428b cmp r3, r1
- 800018a: d301 bcc.n 8000190 <__udivsi3+0xd8>
- 800018c: 00cb lsls r3, r1, #3
- 800018e: 1ac0 subs r0, r0, r3
- 8000190: 4152 adcs r2, r2
- 8000192: 0883 lsrs r3, r0, #2
- 8000194: 428b cmp r3, r1
- 8000196: d301 bcc.n 800019c <__udivsi3+0xe4>
- 8000198: 008b lsls r3, r1, #2
- 800019a: 1ac0 subs r0, r0, r3
- 800019c: 4152 adcs r2, r2
- 800019e: 0843 lsrs r3, r0, #1
- 80001a0: 428b cmp r3, r1
- 80001a2: d301 bcc.n 80001a8 <__udivsi3+0xf0>
- 80001a4: 004b lsls r3, r1, #1
- 80001a6: 1ac0 subs r0, r0, r3
- 80001a8: 4152 adcs r2, r2
- 80001aa: 1a41 subs r1, r0, r1
- 80001ac: d200 bcs.n 80001b0 <__udivsi3+0xf8>
- 80001ae: 4601 mov r1, r0
- 80001b0: 4152 adcs r2, r2
- 80001b2: 4610 mov r0, r2
- 80001b4: 4770 bx lr
- 80001b6: e7ff b.n 80001b8 <__udivsi3+0x100>
- 80001b8: b501 push {r0, lr}
- 80001ba: 2000 movs r0, #0
- 80001bc: f000 f806 bl 80001cc <__aeabi_idiv0>
- 80001c0: bd02 pop {r1, pc}
- 80001c2: 46c0 nop @ (mov r8, r8)
- 080001c4 <__aeabi_uidivmod>:
- 80001c4: 2900 cmp r1, #0
- 80001c6: d0f7 beq.n 80001b8 <__udivsi3+0x100>
- 80001c8: e776 b.n 80000b8 <__udivsi3>
- 80001ca: 4770 bx lr
- 080001cc <__aeabi_idiv0>:
- 80001cc: 4770 bx lr
- 80001ce: 46c0 nop @ (mov r8, r8)
- 080001d0 <__ctzsi2>:
- 80001d0: 4241 negs r1, r0
- 80001d2: 4008 ands r0, r1
- 80001d4: 211c movs r1, #28
- 80001d6: 2301 movs r3, #1
- 80001d8: 041b lsls r3, r3, #16
- 80001da: 4298 cmp r0, r3
- 80001dc: d301 bcc.n 80001e2 <__ctzsi2+0x12>
- 80001de: 0c00 lsrs r0, r0, #16
- 80001e0: 3910 subs r1, #16
- 80001e2: 0a1b lsrs r3, r3, #8
- 80001e4: 4298 cmp r0, r3
- 80001e6: d301 bcc.n 80001ec <__ctzsi2+0x1c>
- 80001e8: 0a00 lsrs r0, r0, #8
- 80001ea: 3908 subs r1, #8
- 80001ec: 091b lsrs r3, r3, #4
- 80001ee: 4298 cmp r0, r3
- 80001f0: d301 bcc.n 80001f6 <__ctzsi2+0x26>
- 80001f2: 0900 lsrs r0, r0, #4
- 80001f4: 3904 subs r1, #4
- 80001f6: a202 add r2, pc, #8 @ (adr r2, 8000200 <__ctzsi2+0x30>)
- 80001f8: 5c10 ldrb r0, [r2, r0]
- 80001fa: 1a40 subs r0, r0, r1
- 80001fc: 4770 bx lr
- 80001fe: 46c0 nop @ (mov r8, r8)
- 8000200: 1d1d1c1b .word 0x1d1d1c1b
- 8000204: 1e1e1e1e .word 0x1e1e1e1e
- 8000208: 1f1f1f1f .word 0x1f1f1f1f
- 800020c: 1f1f1f1f .word 0x1f1f1f1f
- 08000210 <__divsi3>:
- 8000210: 4603 mov r3, r0
- 8000212: 430b orrs r3, r1
- 8000214: d47f bmi.n 8000316 <__divsi3+0x106>
- 8000216: 2200 movs r2, #0
- 8000218: 0843 lsrs r3, r0, #1
- 800021a: 428b cmp r3, r1
- 800021c: d374 bcc.n 8000308 <__divsi3+0xf8>
- 800021e: 0903 lsrs r3, r0, #4
- 8000220: 428b cmp r3, r1
- 8000222: d35f bcc.n 80002e4 <__divsi3+0xd4>
- 8000224: 0a03 lsrs r3, r0, #8
- 8000226: 428b cmp r3, r1
- 8000228: d344 bcc.n 80002b4 <__divsi3+0xa4>
- 800022a: 0b03 lsrs r3, r0, #12
- 800022c: 428b cmp r3, r1
- 800022e: d328 bcc.n 8000282 <__divsi3+0x72>
- 8000230: 0c03 lsrs r3, r0, #16
- 8000232: 428b cmp r3, r1
- 8000234: d30d bcc.n 8000252 <__divsi3+0x42>
- 8000236: 22ff movs r2, #255 @ 0xff
- 8000238: 0209 lsls r1, r1, #8
- 800023a: ba12 rev r2, r2
- 800023c: 0c03 lsrs r3, r0, #16
- 800023e: 428b cmp r3, r1
- 8000240: d302 bcc.n 8000248 <__divsi3+0x38>
- 8000242: 1212 asrs r2, r2, #8
- 8000244: 0209 lsls r1, r1, #8
- 8000246: d065 beq.n 8000314 <__divsi3+0x104>
- 8000248: 0b03 lsrs r3, r0, #12
- 800024a: 428b cmp r3, r1
- 800024c: d319 bcc.n 8000282 <__divsi3+0x72>
- 800024e: e000 b.n 8000252 <__divsi3+0x42>
- 8000250: 0a09 lsrs r1, r1, #8
- 8000252: 0bc3 lsrs r3, r0, #15
- 8000254: 428b cmp r3, r1
- 8000256: d301 bcc.n 800025c <__divsi3+0x4c>
- 8000258: 03cb lsls r3, r1, #15
- 800025a: 1ac0 subs r0, r0, r3
- 800025c: 4152 adcs r2, r2
- 800025e: 0b83 lsrs r3, r0, #14
- 8000260: 428b cmp r3, r1
- 8000262: d301 bcc.n 8000268 <__divsi3+0x58>
- 8000264: 038b lsls r3, r1, #14
- 8000266: 1ac0 subs r0, r0, r3
- 8000268: 4152 adcs r2, r2
- 800026a: 0b43 lsrs r3, r0, #13
- 800026c: 428b cmp r3, r1
- 800026e: d301 bcc.n 8000274 <__divsi3+0x64>
- 8000270: 034b lsls r3, r1, #13
- 8000272: 1ac0 subs r0, r0, r3
- 8000274: 4152 adcs r2, r2
- 8000276: 0b03 lsrs r3, r0, #12
- 8000278: 428b cmp r3, r1
- 800027a: d301 bcc.n 8000280 <__divsi3+0x70>
- 800027c: 030b lsls r3, r1, #12
- 800027e: 1ac0 subs r0, r0, r3
- 8000280: 4152 adcs r2, r2
- 8000282: 0ac3 lsrs r3, r0, #11
- 8000284: 428b cmp r3, r1
- 8000286: d301 bcc.n 800028c <__divsi3+0x7c>
- 8000288: 02cb lsls r3, r1, #11
- 800028a: 1ac0 subs r0, r0, r3
- 800028c: 4152 adcs r2, r2
- 800028e: 0a83 lsrs r3, r0, #10
- 8000290: 428b cmp r3, r1
- 8000292: d301 bcc.n 8000298 <__divsi3+0x88>
- 8000294: 028b lsls r3, r1, #10
- 8000296: 1ac0 subs r0, r0, r3
- 8000298: 4152 adcs r2, r2
- 800029a: 0a43 lsrs r3, r0, #9
- 800029c: 428b cmp r3, r1
- 800029e: d301 bcc.n 80002a4 <__divsi3+0x94>
- 80002a0: 024b lsls r3, r1, #9
- 80002a2: 1ac0 subs r0, r0, r3
- 80002a4: 4152 adcs r2, r2
- 80002a6: 0a03 lsrs r3, r0, #8
- 80002a8: 428b cmp r3, r1
- 80002aa: d301 bcc.n 80002b0 <__divsi3+0xa0>
- 80002ac: 020b lsls r3, r1, #8
- 80002ae: 1ac0 subs r0, r0, r3
- 80002b0: 4152 adcs r2, r2
- 80002b2: d2cd bcs.n 8000250 <__divsi3+0x40>
- 80002b4: 09c3 lsrs r3, r0, #7
- 80002b6: 428b cmp r3, r1
- 80002b8: d301 bcc.n 80002be <__divsi3+0xae>
- 80002ba: 01cb lsls r3, r1, #7
- 80002bc: 1ac0 subs r0, r0, r3
- 80002be: 4152 adcs r2, r2
- 80002c0: 0983 lsrs r3, r0, #6
- 80002c2: 428b cmp r3, r1
- 80002c4: d301 bcc.n 80002ca <__divsi3+0xba>
- 80002c6: 018b lsls r3, r1, #6
- 80002c8: 1ac0 subs r0, r0, r3
- 80002ca: 4152 adcs r2, r2
- 80002cc: 0943 lsrs r3, r0, #5
- 80002ce: 428b cmp r3, r1
- 80002d0: d301 bcc.n 80002d6 <__divsi3+0xc6>
- 80002d2: 014b lsls r3, r1, #5
- 80002d4: 1ac0 subs r0, r0, r3
- 80002d6: 4152 adcs r2, r2
- 80002d8: 0903 lsrs r3, r0, #4
- 80002da: 428b cmp r3, r1
- 80002dc: d301 bcc.n 80002e2 <__divsi3+0xd2>
- 80002de: 010b lsls r3, r1, #4
- 80002e0: 1ac0 subs r0, r0, r3
- 80002e2: 4152 adcs r2, r2
- 80002e4: 08c3 lsrs r3, r0, #3
- 80002e6: 428b cmp r3, r1
- 80002e8: d301 bcc.n 80002ee <__divsi3+0xde>
- 80002ea: 00cb lsls r3, r1, #3
- 80002ec: 1ac0 subs r0, r0, r3
- 80002ee: 4152 adcs r2, r2
- 80002f0: 0883 lsrs r3, r0, #2
- 80002f2: 428b cmp r3, r1
- 80002f4: d301 bcc.n 80002fa <__divsi3+0xea>
- 80002f6: 008b lsls r3, r1, #2
- 80002f8: 1ac0 subs r0, r0, r3
- 80002fa: 4152 adcs r2, r2
- 80002fc: 0843 lsrs r3, r0, #1
- 80002fe: 428b cmp r3, r1
- 8000300: d301 bcc.n 8000306 <__divsi3+0xf6>
- 8000302: 004b lsls r3, r1, #1
- 8000304: 1ac0 subs r0, r0, r3
- 8000306: 4152 adcs r2, r2
- 8000308: 1a41 subs r1, r0, r1
- 800030a: d200 bcs.n 800030e <__divsi3+0xfe>
- 800030c: 4601 mov r1, r0
- 800030e: 4152 adcs r2, r2
- 8000310: 4610 mov r0, r2
- 8000312: 4770 bx lr
- 8000314: e05d b.n 80003d2 <__divsi3+0x1c2>
- 8000316: 0fca lsrs r2, r1, #31
- 8000318: d000 beq.n 800031c <__divsi3+0x10c>
- 800031a: 4249 negs r1, r1
- 800031c: 1003 asrs r3, r0, #32
- 800031e: d300 bcc.n 8000322 <__divsi3+0x112>
- 8000320: 4240 negs r0, r0
- 8000322: 4053 eors r3, r2
- 8000324: 2200 movs r2, #0
- 8000326: 469c mov ip, r3
- 8000328: 0903 lsrs r3, r0, #4
- 800032a: 428b cmp r3, r1
- 800032c: d32d bcc.n 800038a <__divsi3+0x17a>
- 800032e: 0a03 lsrs r3, r0, #8
- 8000330: 428b cmp r3, r1
- 8000332: d312 bcc.n 800035a <__divsi3+0x14a>
- 8000334: 22fc movs r2, #252 @ 0xfc
- 8000336: 0189 lsls r1, r1, #6
- 8000338: ba12 rev r2, r2
- 800033a: 0a03 lsrs r3, r0, #8
- 800033c: 428b cmp r3, r1
- 800033e: d30c bcc.n 800035a <__divsi3+0x14a>
- 8000340: 0189 lsls r1, r1, #6
- 8000342: 1192 asrs r2, r2, #6
- 8000344: 428b cmp r3, r1
- 8000346: d308 bcc.n 800035a <__divsi3+0x14a>
- 8000348: 0189 lsls r1, r1, #6
- 800034a: 1192 asrs r2, r2, #6
- 800034c: 428b cmp r3, r1
- 800034e: d304 bcc.n 800035a <__divsi3+0x14a>
- 8000350: 0189 lsls r1, r1, #6
- 8000352: d03a beq.n 80003ca <__divsi3+0x1ba>
- 8000354: 1192 asrs r2, r2, #6
- 8000356: e000 b.n 800035a <__divsi3+0x14a>
- 8000358: 0989 lsrs r1, r1, #6
- 800035a: 09c3 lsrs r3, r0, #7
- 800035c: 428b cmp r3, r1
- 800035e: d301 bcc.n 8000364 <__divsi3+0x154>
- 8000360: 01cb lsls r3, r1, #7
- 8000362: 1ac0 subs r0, r0, r3
- 8000364: 4152 adcs r2, r2
- 8000366: 0983 lsrs r3, r0, #6
- 8000368: 428b cmp r3, r1
- 800036a: d301 bcc.n 8000370 <__divsi3+0x160>
- 800036c: 018b lsls r3, r1, #6
- 800036e: 1ac0 subs r0, r0, r3
- 8000370: 4152 adcs r2, r2
- 8000372: 0943 lsrs r3, r0, #5
- 8000374: 428b cmp r3, r1
- 8000376: d301 bcc.n 800037c <__divsi3+0x16c>
- 8000378: 014b lsls r3, r1, #5
- 800037a: 1ac0 subs r0, r0, r3
- 800037c: 4152 adcs r2, r2
- 800037e: 0903 lsrs r3, r0, #4
- 8000380: 428b cmp r3, r1
- 8000382: d301 bcc.n 8000388 <__divsi3+0x178>
- 8000384: 010b lsls r3, r1, #4
- 8000386: 1ac0 subs r0, r0, r3
- 8000388: 4152 adcs r2, r2
- 800038a: 08c3 lsrs r3, r0, #3
- 800038c: 428b cmp r3, r1
- 800038e: d301 bcc.n 8000394 <__divsi3+0x184>
- 8000390: 00cb lsls r3, r1, #3
- 8000392: 1ac0 subs r0, r0, r3
- 8000394: 4152 adcs r2, r2
- 8000396: 0883 lsrs r3, r0, #2
- 8000398: 428b cmp r3, r1
- 800039a: d301 bcc.n 80003a0 <__divsi3+0x190>
- 800039c: 008b lsls r3, r1, #2
- 800039e: 1ac0 subs r0, r0, r3
- 80003a0: 4152 adcs r2, r2
- 80003a2: d2d9 bcs.n 8000358 <__divsi3+0x148>
- 80003a4: 0843 lsrs r3, r0, #1
- 80003a6: 428b cmp r3, r1
- 80003a8: d301 bcc.n 80003ae <__divsi3+0x19e>
- 80003aa: 004b lsls r3, r1, #1
- 80003ac: 1ac0 subs r0, r0, r3
- 80003ae: 4152 adcs r2, r2
- 80003b0: 1a41 subs r1, r0, r1
- 80003b2: d200 bcs.n 80003b6 <__divsi3+0x1a6>
- 80003b4: 4601 mov r1, r0
- 80003b6: 4663 mov r3, ip
- 80003b8: 4152 adcs r2, r2
- 80003ba: 105b asrs r3, r3, #1
- 80003bc: 4610 mov r0, r2
- 80003be: d301 bcc.n 80003c4 <__divsi3+0x1b4>
- 80003c0: 4240 negs r0, r0
- 80003c2: 2b00 cmp r3, #0
- 80003c4: d500 bpl.n 80003c8 <__divsi3+0x1b8>
- 80003c6: 4249 negs r1, r1
- 80003c8: 4770 bx lr
- 80003ca: 4663 mov r3, ip
- 80003cc: 105b asrs r3, r3, #1
- 80003ce: d300 bcc.n 80003d2 <__divsi3+0x1c2>
- 80003d0: 4240 negs r0, r0
- 80003d2: b501 push {r0, lr}
- 80003d4: 2000 movs r0, #0
- 80003d6: f7ff fef9 bl 80001cc <__aeabi_idiv0>
- 80003da: bd02 pop {r1, pc}
- 080003dc <__aeabi_idivmod>:
- 80003dc: 2900 cmp r1, #0
- 80003de: d0f8 beq.n 80003d2 <__divsi3+0x1c2>
- 80003e0: e716 b.n 8000210 <__divsi3>
- 80003e2: 4770 bx lr
- 080003e4 <__restore_core_regs>:
- 80003e4: 0001 movs r1, r0
- 80003e6: 3134 adds r1, #52 @ 0x34
- 80003e8: c938 ldmia r1!, {r3, r4, r5}
- 80003ea: 3b04 subs r3, #4
- 80003ec: 469c mov ip, r3
- 80003ee: 601d str r5, [r3, #0]
- 80003f0: 46a6 mov lr, r4
- 80003f2: 0001 movs r1, r0
- 80003f4: 3120 adds r1, #32
- 80003f6: c93c ldmia r1!, {r2, r3, r4, r5}
- 80003f8: 4690 mov r8, r2
- 80003fa: 4699 mov r9, r3
- 80003fc: 46a2 mov sl, r4
- 80003fe: 46ab mov fp, r5
- 8000400: 0001 movs r1, r0
- 8000402: 3108 adds r1, #8
- 8000404: c9fc ldmia r1!, {r2, r3, r4, r5, r6, r7}
- 8000406: 6841 ldr r1, [r0, #4]
- 8000408: 6800 ldr r0, [r0, #0]
- 800040a: 46e5 mov sp, ip
- 800040c: bd00 pop {pc}
- 800040e: 46c0 nop @ (mov r8, r8)
- 08000410 <__gnu_Unwind_Restore_VFP>:
- 8000410: 4770 bx lr
- 8000412: 46c0 nop @ (mov r8, r8)
- 08000414 <__gnu_Unwind_Save_VFP>:
- 8000414: 4770 bx lr
- 8000416: 46c0 nop @ (mov r8, r8)
- 08000418 <__gnu_Unwind_Restore_VFP_D>:
- 8000418: 4770 bx lr
- 800041a: 46c0 nop @ (mov r8, r8)
- 0800041c <__gnu_Unwind_Save_VFP_D>:
- 800041c: 4770 bx lr
- 800041e: 46c0 nop @ (mov r8, r8)
- 08000420 <__gnu_Unwind_Restore_VFP_D_16_to_31>:
- 8000420: 4770 bx lr
- 8000422: 46c0 nop @ (mov r8, r8)
- 08000424 <__gnu_Unwind_Save_VFP_D_16_to_31>:
- 8000424: 4770 bx lr
- 8000426: 46c0 nop @ (mov r8, r8)
- 08000428 <__gnu_Unwind_Restore_WMMXD>:
- 8000428: 4770 bx lr
- 800042a: 46c0 nop @ (mov r8, r8)
- 0800042c <__gnu_Unwind_Save_WMMXD>:
- 800042c: 4770 bx lr
- 800042e: 46c0 nop @ (mov r8, r8)
- 08000430 <__gnu_Unwind_Restore_WMMXC>:
- 8000430: 4770 bx lr
- 8000432: 46c0 nop @ (mov r8, r8)
- 08000434 <__gnu_Unwind_Save_WMMXC>:
- 8000434: 4770 bx lr
- 8000436: 46c0 nop @ (mov r8, r8)
- 08000438 <_Unwind_RaiseException>:
- 8000438: b401 push {r0}
- 800043a: a801 add r0, sp, #4
- 800043c: b501 push {r0, lr}
- 800043e: b085 sub sp, #20
- 8000440: b4ff push {r0, r1, r2, r3, r4, r5, r6, r7}
- 8000442: a808 add r0, sp, #32
- 8000444: 4641 mov r1, r8
- 8000446: 464a mov r2, r9
- 8000448: 4653 mov r3, sl
- 800044a: 465c mov r4, fp
- 800044c: 4665 mov r5, ip
- 800044e: c03e stmia r0!, {r1, r2, r3, r4, r5}
- 8000450: a801 add r0, sp, #4
- 8000452: c83e ldmia r0!, {r1, r2, r3, r4, r5}
- 8000454: 980f ldr r0, [sp, #60] @ 0x3c
- 8000456: 9000 str r0, [sp, #0]
- 8000458: 2300 movs r3, #0
- 800045a: b40c push {r2, r3}
- 800045c: a901 add r1, sp, #4
- 800045e: f009 f82f bl 80094c0 <__gnu_Unwind_RaiseException>
- 8000462: 9b10 ldr r3, [sp, #64] @ 0x40
- 8000464: b012 add sp, #72 @ 0x48
- 8000466: 4718 bx r3
- 08000468 <_Unwind_Resume>:
- 8000468: b401 push {r0}
- 800046a: a801 add r0, sp, #4
- 800046c: b501 push {r0, lr}
- 800046e: b085 sub sp, #20
- 8000470: b4ff push {r0, r1, r2, r3, r4, r5, r6, r7}
- 8000472: a808 add r0, sp, #32
- 8000474: 4641 mov r1, r8
- 8000476: 464a mov r2, r9
- 8000478: 4653 mov r3, sl
- 800047a: 465c mov r4, fp
- 800047c: 4665 mov r5, ip
- 800047e: c03e stmia r0!, {r1, r2, r3, r4, r5}
- 8000480: a801 add r0, sp, #4
- 8000482: c83e ldmia r0!, {r1, r2, r3, r4, r5}
- 8000484: 980f ldr r0, [sp, #60] @ 0x3c
- 8000486: 9000 str r0, [sp, #0]
- 8000488: 2300 movs r3, #0
- 800048a: b40c push {r2, r3}
- 800048c: a901 add r1, sp, #4
- 800048e: f009 f849 bl 8009524 <__gnu_Unwind_Resume>
- 8000492: 9b10 ldr r3, [sp, #64] @ 0x40
- 8000494: b012 add sp, #72 @ 0x48
- 8000496: 4718 bx r3
- 08000498 <_Unwind_Resume_or_Rethrow>:
- 8000498: b401 push {r0}
- 800049a: a801 add r0, sp, #4
- 800049c: b501 push {r0, lr}
- 800049e: b085 sub sp, #20
- 80004a0: b4ff push {r0, r1, r2, r3, r4, r5, r6, r7}
- 80004a2: a808 add r0, sp, #32
- 80004a4: 4641 mov r1, r8
- 80004a6: 464a mov r2, r9
- 80004a8: 4653 mov r3, sl
- 80004aa: 465c mov r4, fp
- 80004ac: 4665 mov r5, ip
- 80004ae: c03e stmia r0!, {r1, r2, r3, r4, r5}
- 80004b0: a801 add r0, sp, #4
- 80004b2: c83e ldmia r0!, {r1, r2, r3, r4, r5}
- 80004b4: 980f ldr r0, [sp, #60] @ 0x3c
- 80004b6: 9000 str r0, [sp, #0]
- 80004b8: 2300 movs r3, #0
- 80004ba: b40c push {r2, r3}
- 80004bc: a901 add r1, sp, #4
- 80004be: f009 f855 bl 800956c <__gnu_Unwind_Resume_or_Rethrow>
- 80004c2: 9b10 ldr r3, [sp, #64] @ 0x40
- 80004c4: b012 add sp, #72 @ 0x48
- 80004c6: 4718 bx r3
- 080004c8 <_Unwind_ForcedUnwind>:
- 80004c8: b401 push {r0}
- 80004ca: a801 add r0, sp, #4
- 80004cc: b501 push {r0, lr}
- 80004ce: b085 sub sp, #20
- 80004d0: b4ff push {r0, r1, r2, r3, r4, r5, r6, r7}
- 80004d2: a808 add r0, sp, #32
- 80004d4: 4641 mov r1, r8
- 80004d6: 464a mov r2, r9
- 80004d8: 4653 mov r3, sl
- 80004da: 465c mov r4, fp
- 80004dc: 4665 mov r5, ip
- 80004de: c03e stmia r0!, {r1, r2, r3, r4, r5}
- 80004e0: a801 add r0, sp, #4
- 80004e2: c83e ldmia r0!, {r1, r2, r3, r4, r5}
- 80004e4: 980f ldr r0, [sp, #60] @ 0x3c
- 80004e6: 9000 str r0, [sp, #0]
- 80004e8: 2300 movs r3, #0
- 80004ea: b40c push {r2, r3}
- 80004ec: ab01 add r3, sp, #4
- 80004ee: f009 f80f bl 8009510 <__gnu_Unwind_ForcedUnwind>
- 80004f2: 9b10 ldr r3, [sp, #64] @ 0x40
- 80004f4: b012 add sp, #72 @ 0x48
- 80004f6: 4718 bx r3
- 080004f8 <_Unwind_Backtrace>:
- 80004f8: b401 push {r0}
- 80004fa: a801 add r0, sp, #4
- 80004fc: b501 push {r0, lr}
- 80004fe: b085 sub sp, #20
- 8000500: b4ff push {r0, r1, r2, r3, r4, r5, r6, r7}
- 8000502: a808 add r0, sp, #32
- 8000504: 4641 mov r1, r8
- 8000506: 464a mov r2, r9
- 8000508: 4653 mov r3, sl
- 800050a: 465c mov r4, fp
- 800050c: 4665 mov r5, ip
- 800050e: c03e stmia r0!, {r1, r2, r3, r4, r5}
- 8000510: a801 add r0, sp, #4
- 8000512: c83e ldmia r0!, {r1, r2, r3, r4, r5}
- 8000514: 980f ldr r0, [sp, #60] @ 0x3c
- 8000516: 9000 str r0, [sp, #0]
- 8000518: 2300 movs r3, #0
- 800051a: b40c push {r2, r3}
- 800051c: aa01 add r2, sp, #4
- 800051e: f009 f899 bl 8009654 <__gnu_Unwind_Backtrace>
- 8000522: 9b10 ldr r3, [sp, #64] @ 0x40
- 8000524: b012 add sp, #72 @ 0x48
- 8000526: 4718 bx r3
- 08000528 <strcmp>:
- 8000528: 4602 mov r2, r0
- 800052a: b570 push {r4, r5, r6, lr}
- 800052c: 430a orrs r2, r1
- 800052e: 0792 lsls r2, r2, #30
- 8000530: d12a bne.n 8000588 <strcmp+0x60>
- 8000532: 4d1e ldr r5, [pc, #120] @ (80005ac <strcmp+0x84>)
- 8000534: 01ee lsls r6, r5, #7
- 8000536: c804 ldmia r0!, {r2}
- 8000538: c908 ldmia r1!, {r3}
- 800053a: 1b54 subs r4, r2, r5
- 800053c: 4394 bics r4, r2
- 800053e: 4034 ands r4, r6
- 8000540: d017 beq.n 8000572 <strcmp+0x4a>
- 8000542: b2d0 uxtb r0, r2
- 8000544: b2d9 uxtb r1, r3
- 8000546: 1a40 subs r0, r0, r1
- 8000548: 0621 lsls r1, r4, #24
- 800054a: 4301 orrs r1, r0
- 800054c: d110 bne.n 8000570 <strcmp+0x48>
- 800054e: b290 uxth r0, r2
- 8000550: b299 uxth r1, r3
- 8000552: 1a40 subs r0, r0, r1
- 8000554: 0421 lsls r1, r4, #16
- 8000556: 4301 orrs r1, r0
- 8000558: d10a bne.n 8000570 <strcmp+0x48>
- 800055a: 0210 lsls r0, r2, #8
- 800055c: 0219 lsls r1, r3, #8
- 800055e: 0a00 lsrs r0, r0, #8
- 8000560: 0a09 lsrs r1, r1, #8
- 8000562: 1a40 subs r0, r0, r1
- 8000564: 0221 lsls r1, r4, #8
- 8000566: 4301 orrs r1, r0
- 8000568: d102 bne.n 8000570 <strcmp+0x48>
- 800056a: 0e10 lsrs r0, r2, #24
- 800056c: 0e19 lsrs r1, r3, #24
- 800056e: 1a40 subs r0, r0, r1
- 8000570: bd70 pop {r4, r5, r6, pc}
- 8000572: 429a cmp r2, r3
- 8000574: d0df beq.n 8000536 <strcmp+0xe>
- 8000576: ba10 rev r0, r2
- 8000578: ba19 rev r1, r3
- 800057a: 4288 cmp r0, r1
- 800057c: d901 bls.n 8000582 <strcmp+0x5a>
- 800057e: 2001 movs r0, #1
- 8000580: bd70 pop {r4, r5, r6, pc}
- 8000582: 2000 movs r0, #0
- 8000584: 43c0 mvns r0, r0
- 8000586: bd70 pop {r4, r5, r6, pc}
- 8000588: 7802 ldrb r2, [r0, #0]
- 800058a: 780b ldrb r3, [r1, #0]
- 800058c: 3001 adds r0, #1
- 800058e: 3101 adds r1, #1
- 8000590: 2a00 cmp r2, #0
- 8000592: d009 beq.n 80005a8 <strcmp+0x80>
- 8000594: 429a cmp r2, r3
- 8000596: d107 bne.n 80005a8 <strcmp+0x80>
- 8000598: 7802 ldrb r2, [r0, #0]
- 800059a: 780b ldrb r3, [r1, #0]
- 800059c: 3001 adds r0, #1
- 800059e: 3101 adds r1, #1
- 80005a0: 2a00 cmp r2, #0
- 80005a2: d001 beq.n 80005a8 <strcmp+0x80>
- 80005a4: 429a cmp r2, r3
- 80005a6: d0ef beq.n 8000588 <strcmp+0x60>
- 80005a8: 1ad0 subs r0, r2, r3
- 80005aa: bd70 pop {r4, r5, r6, pc}
- 80005ac: 01010101 .word 0x01010101
- 080005b0 <__aeabi_cdrcmple>:
- 80005b0: 4684 mov ip, r0
- 80005b2: 0010 movs r0, r2
- 80005b4: 4662 mov r2, ip
- 80005b6: 468c mov ip, r1
- 80005b8: 0019 movs r1, r3
- 80005ba: 4663 mov r3, ip
- 80005bc: e000 b.n 80005c0 <__aeabi_cdcmpeq>
- 80005be: 46c0 nop @ (mov r8, r8)
- 080005c0 <__aeabi_cdcmpeq>:
- 80005c0: b51f push {r0, r1, r2, r3, r4, lr}
- 80005c2: f012 facd bl 8012b60 <__ledf2>
- 80005c6: 2800 cmp r0, #0
- 80005c8: d401 bmi.n 80005ce <__aeabi_cdcmpeq+0xe>
- 80005ca: 2100 movs r1, #0
- 80005cc: 42c8 cmn r0, r1
- 80005ce: bd1f pop {r0, r1, r2, r3, r4, pc}
- 080005d0 <__aeabi_dcmpeq>:
- 80005d0: b510 push {r4, lr}
- 80005d2: f012 fa11 bl 80129f8 <__eqdf2>
- 80005d6: 4240 negs r0, r0
- 80005d8: 3001 adds r0, #1
- 80005da: bd10 pop {r4, pc}
- 080005dc <__aeabi_dcmplt>:
- 80005dc: b510 push {r4, lr}
- 80005de: f012 fabf bl 8012b60 <__ledf2>
- 80005e2: 2800 cmp r0, #0
- 80005e4: db01 blt.n 80005ea <__aeabi_dcmplt+0xe>
- 80005e6: 2000 movs r0, #0
- 80005e8: bd10 pop {r4, pc}
- 80005ea: 2001 movs r0, #1
- 80005ec: bd10 pop {r4, pc}
- 80005ee: 46c0 nop @ (mov r8, r8)
- 080005f0 <__aeabi_dcmple>:
- 80005f0: b510 push {r4, lr}
- 80005f2: f012 fab5 bl 8012b60 <__ledf2>
- 80005f6: 2800 cmp r0, #0
- 80005f8: dd01 ble.n 80005fe <__aeabi_dcmple+0xe>
- 80005fa: 2000 movs r0, #0
- 80005fc: bd10 pop {r4, pc}
- 80005fe: 2001 movs r0, #1
- 8000600: bd10 pop {r4, pc}
- 8000602: 46c0 nop @ (mov r8, r8)
- 08000604 <__aeabi_dcmpgt>:
- 8000604: b510 push {r4, lr}
- 8000606: f012 fa3b bl 8012a80 <__gedf2>
- 800060a: 2800 cmp r0, #0
- 800060c: dc01 bgt.n 8000612 <__aeabi_dcmpgt+0xe>
- 800060e: 2000 movs r0, #0
- 8000610: bd10 pop {r4, pc}
- 8000612: 2001 movs r0, #1
- 8000614: bd10 pop {r4, pc}
- 8000616: 46c0 nop @ (mov r8, r8)
- 08000618 <__aeabi_dcmpge>:
- 8000618: b510 push {r4, lr}
- 800061a: f012 fa31 bl 8012a80 <__gedf2>
- 800061e: 2800 cmp r0, #0
- 8000620: da01 bge.n 8000626 <__aeabi_dcmpge+0xe>
- 8000622: 2000 movs r0, #0
- 8000624: bd10 pop {r4, pc}
- 8000626: 2001 movs r0, #1
- 8000628: bd10 pop {r4, pc}
- 800062a: 46c0 nop @ (mov r8, r8)
- 0800062c <__aeabi_uldivmod>:
- 800062c: 2b00 cmp r3, #0
- 800062e: d111 bne.n 8000654 <__aeabi_uldivmod+0x28>
- 8000630: 2a00 cmp r2, #0
- 8000632: d10f bne.n 8000654 <__aeabi_uldivmod+0x28>
- 8000634: 2900 cmp r1, #0
- 8000636: d100 bne.n 800063a <__aeabi_uldivmod+0xe>
- 8000638: 2800 cmp r0, #0
- 800063a: d002 beq.n 8000642 <__aeabi_uldivmod+0x16>
- 800063c: 2100 movs r1, #0
- 800063e: 43c9 mvns r1, r1
- 8000640: 0008 movs r0, r1
- 8000642: b407 push {r0, r1, r2}
- 8000644: 4802 ldr r0, [pc, #8] @ (8000650 <__aeabi_uldivmod+0x24>)
- 8000646: a102 add r1, pc, #8 @ (adr r1, 8000650 <__aeabi_uldivmod+0x24>)
- 8000648: 1840 adds r0, r0, r1
- 800064a: 9002 str r0, [sp, #8]
- 800064c: bd03 pop {r0, r1, pc}
- 800064e: 46c0 nop @ (mov r8, r8)
- 8000650: fffffb7d .word 0xfffffb7d
- 8000654: b403 push {r0, r1}
- 8000656: 4668 mov r0, sp
- 8000658: b501 push {r0, lr}
- 800065a: 9802 ldr r0, [sp, #8]
- 800065c: f011 fa66 bl 8011b2c <__udivmoddi4>
- 8000660: 9b01 ldr r3, [sp, #4]
- 8000662: 469e mov lr, r3
- 8000664: b002 add sp, #8
- 8000666: bc0c pop {r2, r3}
- 8000668: 4770 bx lr
- 800066a: 46c0 nop @ (mov r8, r8)
- 0800066c <__clzsi2>:
- 800066c: 211c movs r1, #28
- 800066e: 2301 movs r3, #1
- 8000670: 041b lsls r3, r3, #16
- 8000672: 4298 cmp r0, r3
- 8000674: d301 bcc.n 800067a <__clzsi2+0xe>
- 8000676: 0c00 lsrs r0, r0, #16
- 8000678: 3910 subs r1, #16
- 800067a: 0a1b lsrs r3, r3, #8
- 800067c: 4298 cmp r0, r3
- 800067e: d301 bcc.n 8000684 <__clzsi2+0x18>
- 8000680: 0a00 lsrs r0, r0, #8
- 8000682: 3908 subs r1, #8
- 8000684: 091b lsrs r3, r3, #4
- 8000686: 4298 cmp r0, r3
- 8000688: d301 bcc.n 800068e <__clzsi2+0x22>
- 800068a: 0900 lsrs r0, r0, #4
- 800068c: 3904 subs r1, #4
- 800068e: a202 add r2, pc, #8 @ (adr r2, 8000698 <__clzsi2+0x2c>)
- 8000690: 5c10 ldrb r0, [r2, r0]
- 8000692: 1840 adds r0, r0, r1
- 8000694: 4770 bx lr
- 8000696: 46c0 nop @ (mov r8, r8)
- 8000698: 02020304 .word 0x02020304
- 800069c: 01010101 .word 0x01010101
- ...
- 080006a8 <__clzdi2>:
- 80006a8: b510 push {r4, lr}
- 80006aa: 2900 cmp r1, #0
- 80006ac: d103 bne.n 80006b6 <__clzdi2+0xe>
- 80006ae: f7ff ffdd bl 800066c <__clzsi2>
- 80006b2: 3020 adds r0, #32
- 80006b4: e002 b.n 80006bc <__clzdi2+0x14>
- 80006b6: 0008 movs r0, r1
- 80006b8: f7ff ffd8 bl 800066c <__clzsi2>
- 80006bc: bd10 pop {r4, pc}
- 80006be: 46c0 nop @ (mov r8, r8)
- 080006c0 <deregister_tm_clones>:
- 80006c0: 4804 ldr r0, [pc, #16] @ (80006d4 <deregister_tm_clones+0x14>)
- 80006c2: 4b05 ldr r3, [pc, #20] @ (80006d8 <deregister_tm_clones+0x18>)
- 80006c4: b510 push {r4, lr}
- 80006c6: 4283 cmp r3, r0
- 80006c8: d003 beq.n 80006d2 <deregister_tm_clones+0x12>
- 80006ca: 4b04 ldr r3, [pc, #16] @ (80006dc <deregister_tm_clones+0x1c>)
- 80006cc: 2b00 cmp r3, #0
- 80006ce: d000 beq.n 80006d2 <deregister_tm_clones+0x12>
- 80006d0: 4798 blx r3
- 80006d2: bd10 pop {r4, pc}
- 80006d4: 200006dc .word 0x200006dc
- 80006d8: 200006dc .word 0x200006dc
- 80006dc: 00000000 .word 0x00000000
- 080006e0 <register_tm_clones>:
- 80006e0: 4806 ldr r0, [pc, #24] @ (80006fc <register_tm_clones+0x1c>)
- 80006e2: 4907 ldr r1, [pc, #28] @ (8000700 <register_tm_clones+0x20>)
- 80006e4: 1a09 subs r1, r1, r0
- 80006e6: 108b asrs r3, r1, #2
- 80006e8: 0fc9 lsrs r1, r1, #31
- 80006ea: 18c9 adds r1, r1, r3
- 80006ec: b510 push {r4, lr}
- 80006ee: 1049 asrs r1, r1, #1
- 80006f0: d003 beq.n 80006fa <register_tm_clones+0x1a>
- 80006f2: 4b04 ldr r3, [pc, #16] @ (8000704 <register_tm_clones+0x24>)
- 80006f4: 2b00 cmp r3, #0
- 80006f6: d000 beq.n 80006fa <register_tm_clones+0x1a>
- 80006f8: 4798 blx r3
- 80006fa: bd10 pop {r4, pc}
- 80006fc: 200006dc .word 0x200006dc
- 8000700: 200006dc .word 0x200006dc
- 8000704: 00000000 .word 0x00000000
- 08000708 <__do_global_dtors_aux>:
- 8000708: b510 push {r4, lr}
- 800070a: 4c07 ldr r4, [pc, #28] @ (8000728 <__do_global_dtors_aux+0x20>)
- 800070c: 7823 ldrb r3, [r4, #0]
- 800070e: 2b00 cmp r3, #0
- 8000710: d109 bne.n 8000726 <__do_global_dtors_aux+0x1e>
- 8000712: f7ff ffd5 bl 80006c0 <deregister_tm_clones>
- 8000716: 4b05 ldr r3, [pc, #20] @ (800072c <__do_global_dtors_aux+0x24>)
- 8000718: 2b00 cmp r3, #0
- 800071a: d002 beq.n 8000722 <__do_global_dtors_aux+0x1a>
- 800071c: 4804 ldr r0, [pc, #16] @ (8000730 <__do_global_dtors_aux+0x28>)
- 800071e: e000 b.n 8000722 <__do_global_dtors_aux+0x1a>
- 8000720: bf00 nop
- 8000722: 2301 movs r3, #1
- 8000724: 7023 strb r3, [r4, #0]
- 8000726: bd10 pop {r4, pc}
- 8000728: 200006dc .word 0x200006dc
- 800072c: 00000000 .word 0x00000000
- 8000730: 08013a44 .word 0x08013a44
- 08000734 <frame_dummy>:
- 8000734: 4b05 ldr r3, [pc, #20] @ (800074c <frame_dummy+0x18>)
- 8000736: b510 push {r4, lr}
- 8000738: 2b00 cmp r3, #0
- 800073a: d003 beq.n 8000744 <frame_dummy+0x10>
- 800073c: 4904 ldr r1, [pc, #16] @ (8000750 <frame_dummy+0x1c>)
- 800073e: 4805 ldr r0, [pc, #20] @ (8000754 <frame_dummy+0x20>)
- 8000740: e000 b.n 8000744 <frame_dummy+0x10>
- 8000742: bf00 nop
- 8000744: f7ff ffcc bl 80006e0 <register_tm_clones>
- 8000748: bd10 pop {r4, pc}
- 800074a: 46c0 nop @ (mov r8, r8)
- 800074c: 00000000 .word 0x00000000
- 8000750: 200006e0 .word 0x200006e0
- 8000754: 08013a44 .word 0x08013a44
- 08000758 <(anonymous namespace)::HandleButtonPress(mcu::stm32g070::Gpio::GpioId)>:
- #include "platform/mcu-hal/gpio.hpp"
- namespace {
- bool button_pressed = false;
- void HandleButtonPress([[maybe_unused]] GpioId pin) {
- button_pressed = true;
- 8000758: 4b01 ldr r3, [pc, #4] @ (8000760 <(anonymous namespace)::HandleButtonPress(mcu::stm32g070::Gpio::GpioId)+0x8>)
- 800075a: 2201 movs r2, #1
- 800075c: 701a strb r2, [r3, #0]
- }
- 800075e: 4770 bx lr
- 8000760: 200006f8 .word 0x200006f8
- 08000764 <void rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::FunctionStub<&(anonymous namespace)::HandleButtonPress>(void*, mcu::stm32g070::Gpio::GpioId)>:
- using StubType = ReturnType (*)(void*, Args...);
- void* object_ptr = nullptr;
- StubType stub_ptr = nullptr;
- template <ReturnType (*Function)(Args...)>
- static ReturnType FunctionStub(void*, Args... args) {
- 8000764: b510 push {r4, lr}
- 8000766: 0008 movs r0, r1
- return Function(std::forward<Args>(args)...);
- 8000768: f7ff fff6 bl 8000758 <(anonymous namespace)::HandleButtonPress(mcu::stm32g070::Gpio::GpioId)>
- }
- 800076c: bd10 pop {r4, pc}
- 0800076e <mcu::hal::Uart<mcu::stm32g070::Uart>::Transmit(char const*)>:
- void Transmit(const uint8_t *data, size_t len) {
- impl_.Transmit(data, len);
- }
- void Transmit(const char *str) {
- 800076e: b570 push {r4, r5, r6, lr}
- 8000770: 0005 movs r5, r0
- 8000772: 000c movs r4, r1
- while (*str != '\0') {
- 8000774: e005 b.n 8000782 <mcu::hal::Uart<mcu::stm32g070::Uart>::Transmit(char const*)+0x14>
- impl_.Transmit(reinterpret_cast<const uint8_t *>(str), 1);
- 8000776: 2201 movs r2, #1
- 8000778: 0021 movs r1, r4
- 800077a: 0028 movs r0, r5
- 800077c: f000 fc17 bl 8000fae <mcu::stm32g070::Uart::Transmit(unsigned char const*, unsigned int)>
- str++;
- 8000780: 3401 adds r4, #1
- while (*str != '\0') {
- 8000782: 7823 ldrb r3, [r4, #0]
- 8000784: 2b00 cmp r3, #0
- 8000786: d1f6 bne.n 8000776 <mcu::hal::Uart<mcu::stm32g070::Uart>::Transmit(char const*)+0x8>
- }
- }
- 8000788: bd70 pop {r4, r5, r6, pc}
- ...
- 0800078c <main>:
- } // namespace
- extern "C" int main(void) {
- 800078c: b530 push {r4, r5, lr}
- 800078e: b087 sub sp, #28
- Board::Init();
- 8000790: f000 f87e bl 8000890 <Board::Init()>
- LogicLevel Read() {
- return Impl::Read(pinId);
- }
- void Write(LogicLevel value) {
- Impl::Write(pinId, value);
- 8000794: 2100 movs r1, #0
- 8000796: 2005 movs r0, #5
- 8000798: f000 fa0f bl 8000bba <mcu::stm32g070::Gpio::Write(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::LogicLevel)>
- bool operator!=(const Delegate& other) const {
- return !(*this == other);
- }
- private:
- Delegate(void* object, StubType stub) : object_ptr(object), stub_ptr(stub) {
- 800079c: 2200 movs r2, #0
- 800079e: 9200 str r2, [sp, #0]
- 80007a0: 4b16 ldr r3, [pc, #88] @ (80007fc <main+0x70>)
- 80007a2: 9301 str r3, [sp, #4]
- : object_ptr(other.object_ptr), stub_ptr(other.stub_ptr) {
- 80007a4: 9202 str r2, [sp, #8]
- 80007a6: 9303 str r3, [sp, #12]
- 80007a8: 9204 str r2, [sp, #16]
- 80007aa: 9305 str r3, [sp, #20]
- Impl::Toggle(pinId);
- }
- void ConfigureInterrupt(InterruptEvent interrupt_mode,
- InterruptDelegate callback) {
- Impl::ConfigureInterrupt(pinId, interrupt_mode, callback);
- 80007ac: aa04 add r2, sp, #16
- 80007ae: 2101 movs r1, #1
- 80007b0: 202d movs r0, #45 @ 0x2d
- 80007b2: f000 fa2b bl 8000c0c <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)>
- IOPin<BoardPin::kButton> button;
- auto button_handler = GpioInterruptFunc::Create<HandleButtonPress>();
- button.ConfigureInterrupt(mcu::hal::gpio::InterruptEvent::kFallingEdge,
- button_handler);
- auto &console_uart = Board::ConsoleUart();
- 80007b6: f000 f891 bl 80008dc <Board::ConsoleUart()>
- 80007ba: 0005 movs r5, r0
- impl_.Enable();
- 80007bc: f000 fbe8 bl 8000f90 <mcu::stm32g070::Uart::Enable()>
- console_uart.Enable();
- console_uart.Transmit("Board Init Complete\n");
- 80007c0: 490f ldr r1, [pc, #60] @ (8000800 <main+0x74>)
- 80007c2: 0028 movs r0, r5
- 80007c4: f7ff ffd3 bl 800076e <mcu::hal::Uart<mcu::stm32g070::Uart>::Transmit(char const*)>
- uint32_t counter = 0;
- 80007c8: 2400 movs r4, #0
- while (true) {
- if (counter == 0x1ffff0) {
- 80007ca: 4b0e ldr r3, [pc, #56] @ (8000804 <main+0x78>)
- 80007cc: 429c cmp r4, r3
- 80007ce: d00c beq.n 80007ea <main+0x5e>
- led.Toggle();
- counter = 0;
- console_uart.Transmit("Hello World!\n");
- }
- counter++;
- 80007d0: 3401 adds r4, #1
- if (button_pressed) {
- 80007d2: 4b0d ldr r3, [pc, #52] @ (8000808 <main+0x7c>)
- 80007d4: 781b ldrb r3, [r3, #0]
- 80007d6: 2b00 cmp r3, #0
- 80007d8: d0f7 beq.n 80007ca <main+0x3e>
- console_uart.Transmit("Button pressed\n");
- 80007da: 490c ldr r1, [pc, #48] @ (800080c <main+0x80>)
- 80007dc: 0028 movs r0, r5
- 80007de: f7ff ffc6 bl 800076e <mcu::hal::Uart<mcu::stm32g070::Uart>::Transmit(char const*)>
- button_pressed = false;
- 80007e2: 4b09 ldr r3, [pc, #36] @ (8000808 <main+0x7c>)
- 80007e4: 2200 movs r2, #0
- 80007e6: 701a strb r2, [r3, #0]
- 80007e8: e7ef b.n 80007ca <main+0x3e>
- Impl::Toggle(pinId);
- 80007ea: 2005 movs r0, #5
- 80007ec: f000 f9f8 bl 8000be0 <mcu::stm32g070::Gpio::Toggle(mcu::stm32g070::Gpio::GpioId)>
- console_uart.Transmit("Hello World!\n");
- 80007f0: 4907 ldr r1, [pc, #28] @ (8000810 <main+0x84>)
- 80007f2: 0028 movs r0, r5
- 80007f4: f7ff ffbb bl 800076e <mcu::hal::Uart<mcu::stm32g070::Uart>::Transmit(char const*)>
- counter = 0;
- 80007f8: 2400 movs r4, #0
- 80007fa: e7e9 b.n 80007d0 <main+0x44>
- 80007fc: 08000765 .word 0x08000765
- 8000800: 08013a60 .word 0x08013a60
- 8000804: 001ffff0 .word 0x001ffff0
- 8000808: 200006f8 .word 0x200006f8
- 800080c: 08013a88 .word 0x08013a88
- 8000810: 08013a78 .word 0x08013a78
- 08000814 <_sbrk>:
- #include <sys/stat.h>
- #include <errno.h>
- extern "C" {
- void* _sbrk([[maybe_unused]] int incr) {
- 8000814: b510 push {r4, lr}
- errno = ENOMEM;
- 8000816: f00a fd95 bl 800b344 <__errno>
- 800081a: 230c movs r3, #12
- 800081c: 6003 str r3, [r0, #0]
- return (void*)-1;
- 800081e: 2001 movs r0, #1
- }
- 8000820: 4240 negs r0, r0
- 8000822: bd10 pop {r4, pc}
- 08000824 <_exit>:
- void _exit([[maybe_unused]] int status) {
- while (1) {
- 8000824: e7fe b.n 8000824 <_exit>
- 08000826 <_close>:
- }
- }
- int _close([[maybe_unused]] int file) {
- return -1;
- 8000826: 2001 movs r0, #1
- }
- 8000828: 4240 negs r0, r0
- 800082a: 4770 bx lr
- 0800082c <_fstat>:
- int _fstat([[maybe_unused]] int file, struct stat* st) {
- st->st_mode = S_IFCHR;
- 800082c: 2380 movs r3, #128 @ 0x80
- 800082e: 019b lsls r3, r3, #6
- 8000830: 604b str r3, [r1, #4]
- return 0;
- }
- 8000832: 2000 movs r0, #0
- 8000834: 4770 bx lr
- 08000836 <_isatty>:
- int _isatty([[maybe_unused]] int file) {
- return 1;
- }
- 8000836: 2001 movs r0, #1
- 8000838: 4770 bx lr
- 0800083a <_lseek>:
- int _lseek([[maybe_unused]] int file, [[maybe_unused]] int ptr,
- [[maybe_unused]] int dir) {
- return 0;
- }
- 800083a: 2000 movs r0, #0
- 800083c: 4770 bx lr
- 0800083e <_read>:
- int _read([[maybe_unused]] int file, [[maybe_unused]] char* ptr,
- [[maybe_unused]] int len) {
- return 0;
- }
- 800083e: 2000 movs r0, #0
- 8000840: 4770 bx lr
- 08000842 <_write>:
- int _write([[maybe_unused]] int file, [[maybe_unused]] char* ptr,
- [[maybe_unused]] int len) {
- return 0;
- }
- 8000842: 2000 movs r0, #0
- 8000844: 4770 bx lr
- 08000846 <_kill>:
- int _kill([[maybe_unused]] int pid, [[maybe_unused]] int sig) {
- 8000846: b510 push {r4, lr}
- errno = EINVAL;
- 8000848: f00a fd7c bl 800b344 <__errno>
- 800084c: 2316 movs r3, #22
- 800084e: 6003 str r3, [r0, #0]
- return -1;
- 8000850: 2001 movs r0, #1
- }
- 8000852: 4240 negs r0, r0
- 8000854: bd10 pop {r4, pc}
- 08000856 <_getpid>:
- int _getpid(void) {
- return 1;
- }
- 8000856: 2001 movs r0, #1
- 8000858: 4770 bx lr
- 0800085a <__assert_func>:
- __attribute__((noreturn)) void __assert_func(
- [[maybe_unused]] const char* file, [[maybe_unused]] int line,
- [[maybe_unused]] const char* func,
- [[maybe_unused]] const char* failedexpr) {
- while (1) {
- 800085a: e7fe b.n 800085a <__assert_func>
- 0800085c <Board::Board()>:
- .rx_pin = static_cast<GpioId>(BoardPin::kConsoleUartRx),
- .baud_rate = BaudRate::k115200,
- };
- } // namespace
- Board::Board()
- 800085c: b530 push {r4, r5, lr}
- 800085e: b083 sub sp, #12
- 8000860: 0004 movs r4, r0
- template<contiguous_iterator _It>
- requires __is_compatible_ref<iter_reference_t<_It>>::value
- constexpr explicit(extent != dynamic_extent)
- span(_It __first, size_type __count)
- noexcept
- : _M_ptr(std::to_address(__first)), _M_extent(__count)
- 8000862: 4b09 ldr r3, [pc, #36] @ (8000888 <Board::Board()+0x2c>)
- 8000864: 6003 str r3, [r0, #0]
- : _M_extent_value(__extent)
- 8000866: 2304 movs r3, #4
- 8000868: 6043 str r3, [r0, #4]
- 800086a: 466b mov r3, sp
- 800086c: c822 ldmia r0!, {r1, r5}
- 800086e: c322 stmia r3!, {r1, r5}
- : impl_(default_pin_configurations) {
- 8000870: 9900 ldr r1, [sp, #0]
- 8000872: 2204 movs r2, #4
- 8000874: f000 f922 bl 8000abc <mcu::stm32g070::Gpio::Gpio(std::span<mcu::stm32g070::Gpio::GpioConfig const, 4294967295u>)>
- Uart(UartConfig const &uart_config) : impl_(uart_config) {
- 8000878: 4904 ldr r1, [pc, #16] @ (800088c <Board::Board()+0x30>)
- 800087a: 0020 movs r0, r4
- 800087c: 3010 adds r0, #16
- 800087e: f000 fb57 bl 8000f30 <mcu::stm32g070::Uart::Uart(mcu::stm32g070::Uart::UartConfig const&)>
- : gpio_config_{gpio_config},
- gpio_(gpio_config_),
- console_uart_(console_uart) {
- }
- 8000882: 0020 movs r0, r4
- 8000884: b003 add sp, #12
- 8000886: bd30 pop {r4, r5, pc}
- 8000888: 08014b98 .word 0x08014b98
- 800088c: 08014b90 .word 0x08014b90
- 08000890 <Board::Init()>:
- void Board::Init() {
- 8000890: b570 push {r4, r5, r6, lr}
- mcu::stm32g070::SysClock::Init();
- 8000892: f000 faf3 bl 8000e7c <mcu::stm32g070::SysClock::Init()>
- assert(instance_ptr == nullptr);
- 8000896: 4b0c ldr r3, [pc, #48] @ (80008c8 <Board::Init()+0x38>)
- 8000898: 681b ldr r3, [r3, #0]
- 800089a: 2b00 cmp r3, #0
- 800089c: d10e bne.n 80008bc <Board::Init()+0x2c>
- instance_ptr = new (board_object_storage) Board();
- 800089e: 4c0b ldr r4, [pc, #44] @ (80008cc <Board::Init()+0x3c>)
- 80008a0: 0020 movs r0, r4
- 80008a2: f7ff ffdb bl 800085c <Board::Board()>
- 80008a6: 4d08 ldr r5, [pc, #32] @ (80008c8 <Board::Init()+0x38>)
- 80008a8: 602c str r4, [r5, #0]
- impl_.ConfigureAllToDefault();
- 80008aa: 0020 movs r0, r4
- 80008ac: 3008 adds r0, #8
- 80008ae: f000 f973 bl 8000b98 <mcu::stm32g070::Gpio::ConfigureAllToDefault()>
- instance_ptr->gpio_.ConfigureAllToDefault();
- instance_ptr->console_uart_.Init();
- 80008b2: 6828 ldr r0, [r5, #0]
- impl_.Init();
- 80008b4: 3010 adds r0, #16
- 80008b6: f000 fb43 bl 8000f40 <mcu::stm32g070::Uart::Init()>
- }
- 80008ba: bd70 pop {r4, r5, r6, pc}
- assert(instance_ptr == nullptr);
- 80008bc: 4b04 ldr r3, [pc, #16] @ (80008d0 <Board::Init()+0x40>)
- 80008be: 4a05 ldr r2, [pc, #20] @ (80008d4 <Board::Init()+0x44>)
- 80008c0: 4805 ldr r0, [pc, #20] @ (80008d8 <Board::Init()+0x48>)
- 80008c2: 2146 movs r1, #70 @ 0x46
- 80008c4: f7ff ffc9 bl 800085a <__assert_func>
- 80008c8: 200006fc .word 0x200006fc
- 80008cc: 20000700 .word 0x20000700
- 80008d0: 08013a98 .word 0x08013a98
- 80008d4: 08013ab0 .word 0x08013ab0
- 80008d8: 08013acc .word 0x08013acc
- 080008dc <Board::ConsoleUart()>:
- mcu::hal::Gpio<mcu::stm32g070::Gpio> &Board::Gpio() {
- assert(instance_ptr != nullptr);
- return instance_ptr->gpio_;
- }
- mcu::hal::Uart<mcu::stm32g070::Uart> &Board::ConsoleUart() {
- 80008dc: b510 push {r4, lr}
- assert(instance_ptr != nullptr);
- 80008de: 4b06 ldr r3, [pc, #24] @ (80008f8 <Board::ConsoleUart()+0x1c>)
- 80008e0: 6818 ldr r0, [r3, #0]
- 80008e2: 2800 cmp r0, #0
- 80008e4: d001 beq.n 80008ea <Board::ConsoleUart()+0xe>
- return instance_ptr->console_uart_;
- 80008e6: 3010 adds r0, #16
- }
- 80008e8: bd10 pop {r4, pc}
- assert(instance_ptr != nullptr);
- 80008ea: 4b04 ldr r3, [pc, #16] @ (80008fc <Board::ConsoleUart()+0x20>)
- 80008ec: 4a04 ldr r2, [pc, #16] @ (8000900 <Board::ConsoleUart()+0x24>)
- 80008ee: 4805 ldr r0, [pc, #20] @ (8000904 <Board::ConsoleUart()+0x28>)
- 80008f0: 2152 movs r1, #82 @ 0x52
- 80008f2: f7ff ffb2 bl 800085a <__assert_func>
- 80008f6: 46c0 nop @ (mov r8, r8)
- 80008f8: 200006fc .word 0x200006fc
- 80008fc: 08013ae8 .word 0x08013ae8
- 8000900: 08013b3c .word 0x08013b3c
- 8000904: 08013acc .word 0x08013acc
- 08000908 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)>:
- };
- std::array<GpioInterruptInfo, 16> irq_callback_table{};
- GPIO_TypeDef *GetPortRegister(mcu::stm32g070::Gpio::GpioId pin) {
- uint8_t port_num = pin >> kNumPinsPerPortShift;
- 8000908: 0903 lsrs r3, r0, #4
- switch (port_num) {
- 800090a: 284f cmp r0, #79 @ 0x4f
- 800090c: d80c bhi.n 8000928 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x20>
- 800090e: 009b lsls r3, r3, #2
- 8000910: 4a07 ldr r2, [pc, #28] @ (8000930 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x28>)
- 8000912: 58d3 ldr r3, [r2, r3]
- 8000914: 469f mov pc, r3
- 8000916: 20a0 movs r0, #160 @ 0xa0
- 8000918: 05c0 lsls r0, r0, #23
- case 4:
- return GPIOF;
- default:
- return nullptr;
- }
- }
- 800091a: 4770 bx lr
- return GPIOC;
- 800091c: 4805 ldr r0, [pc, #20] @ (8000934 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x2c>)
- 800091e: e7fc b.n 800091a <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x12>
- return GPIOD;
- 8000920: 4805 ldr r0, [pc, #20] @ (8000938 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x30>)
- 8000922: e7fa b.n 800091a <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x12>
- return GPIOF;
- 8000924: 4805 ldr r0, [pc, #20] @ (800093c <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x34>)
- 8000926: e7f8 b.n 800091a <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x12>
- return nullptr;
- 8000928: 2000 movs r0, #0
- 800092a: e7f6 b.n 800091a <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x12>
- return GPIOB;
- 800092c: 4804 ldr r0, [pc, #16] @ (8000940 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x38>)
- 800092e: e7f4 b.n 800091a <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)+0x12>
- 8000930: 08014bb0 .word 0x08014bb0
- 8000934: 50000800 .word 0x50000800
- 8000938: 50000c00 .word 0x50000c00
- 800093c: 50001400 .word 0x50001400
- 8000940: 50000400 .word 0x50000400
- 08000944 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)>:
- void SetPullResistor(GPIO_TypeDef *port, uint8_t port_pin,
- mcu::stm32g070::Gpio::GpioPullResistor mode) {
- 8000944: b510 push {r4, lr}
- uint8_t bit_value = (mode == mcu::stm32g070::Gpio::kPullNone) ? 0b00
- 8000946: 2a02 cmp r2, #2
- 8000948: d003 beq.n 8000952 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)+0xe>
- 800094a: 2a00 cmp r2, #0
- 800094c: d110 bne.n 8000970 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)+0x2c>
- 800094e: 3201 adds r2, #1
- 8000950: e000 b.n 8000954 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)+0x10>
- 8000952: 2200 movs r2, #0
- : (mode == mcu::stm32g070::Gpio::kPullUp)
- ? 0b01
- : 0b10; // pull-down
- port->PUPDR &= ~(0b11 << (port_pin < 1));
- 8000954: 68c4 ldr r4, [r0, #12]
- 8000956: 2900 cmp r1, #0
- 8000958: d10c bne.n 8000974 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)+0x30>
- 800095a: 2307 movs r3, #7
- 800095c: 425b negs r3, r3
- 800095e: 4023 ands r3, r4
- 8000960: 60c3 str r3, [r0, #12]
- port->PUPDR |= bit_value << (port_pin < 1);
- 8000962: 68c3 ldr r3, [r0, #12]
- 8000964: 424c negs r4, r1
- 8000966: 4161 adcs r1, r4
- 8000968: 408a lsls r2, r1
- 800096a: 4313 orrs r3, r2
- 800096c: 60c3 str r3, [r0, #12]
- }
- 800096e: bd10 pop {r4, pc}
- uint8_t bit_value = (mode == mcu::stm32g070::Gpio::kPullNone) ? 0b00
- 8000970: 2202 movs r2, #2
- 8000972: e7ef b.n 8000954 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)+0x10>
- port->PUPDR &= ~(0b11 << (port_pin < 1));
- 8000974: 2304 movs r3, #4
- 8000976: 425b negs r3, r3
- 8000978: e7f1 b.n 800095e <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)+0x1a>
- 0800097a <(anonymous namespace)::SetOutputConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioOutputType, mcu::stm32g070::Gpio::GpioOutputSpeed)>:
- void SetOutputConfig(GPIO_TypeDef *port, uint8_t port_pin,
- mcu::stm32g070::Gpio::GpioOutputType output_type,
- mcu::stm32g070::Gpio::GpioOutputSpeed speed) {
- 800097a: b510 push {r4, lr}
- 800097c: 001c movs r4, r3
- if (output_type == mcu::stm32g070::Gpio::kPushPull) {
- 800097e: 2a00 cmp r2, #0
- 8000980: d10e bne.n 80009a0 <(anonymous namespace)::SetOutputConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioOutputType, mcu::stm32g070::Gpio::GpioOutputSpeed)+0x26>
- port->OTYPER &= ~(0b1 << port_pin);
- 8000982: 6843 ldr r3, [r0, #4]
- 8000984: 3201 adds r2, #1
- 8000986: 408a lsls r2, r1
- 8000988: 4393 bics r3, r2
- 800098a: 6043 str r3, [r0, #4]
- } else {
- port->OTYPER |= 0b1 << port_pin;
- }
- port->OSPEEDR &= ~(0b11 << port_pin);
- 800098c: 6883 ldr r3, [r0, #8]
- 800098e: 2203 movs r2, #3
- 8000990: 408a lsls r2, r1
- 8000992: 4393 bics r3, r2
- 8000994: 6083 str r3, [r0, #8]
- port->OSPEEDR |= speed << port_pin;
- 8000996: 6883 ldr r3, [r0, #8]
- 8000998: 408c lsls r4, r1
- 800099a: 4323 orrs r3, r4
- 800099c: 6083 str r3, [r0, #8]
- }
- 800099e: bd10 pop {r4, pc}
- port->OTYPER |= 0b1 << port_pin;
- 80009a0: 6843 ldr r3, [r0, #4]
- 80009a2: 2201 movs r2, #1
- 80009a4: 408a lsls r2, r1
- 80009a6: 4313 orrs r3, r2
- 80009a8: 6043 str r3, [r0, #4]
- 80009aa: e7ef b.n 800098c <(anonymous namespace)::SetOutputConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioOutputType, mcu::stm32g070::Gpio::GpioOutputSpeed)+0x12>
- 080009ac <(anonymous namespace)::SetAltConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioAltFunc)>:
- void SetAltConfig(GPIO_TypeDef *port, uint8_t port_pin,
- mcu::stm32g070::Gpio::GpioAltFunc af) {
- 80009ac: b530 push {r4, r5, lr}
- uint8_t low_hi_sel = port_pin >> 3;
- 80009ae: 08cb lsrs r3, r1, #3
- uint8_t af_pin_shift = (port_pin & 0x7) << 2;
- 80009b0: 0089 lsls r1, r1, #2
- 80009b2: 241c movs r4, #28
- 80009b4: 4021 ands r1, r4
- port->AFR[low_hi_sel] &= ~(0xf << af_pin_shift);
- 80009b6: 3308 adds r3, #8
- 80009b8: 009b lsls r3, r3, #2
- 80009ba: 581c ldr r4, [r3, r0]
- 80009bc: 250f movs r5, #15
- 80009be: 408d lsls r5, r1
- 80009c0: 43ac bics r4, r5
- 80009c2: 501c str r4, [r3, r0]
- port->AFR[low_hi_sel] |= (af << af_pin_shift);
- 80009c4: 581c ldr r4, [r3, r0]
- 80009c6: 408a lsls r2, r1
- 80009c8: 4314 orrs r4, r2
- 80009ca: 501c str r4, [r3, r0]
- }
- 80009cc: bd30 pop {r4, r5, pc}
- ...
- 080009d0 <(anonymous namespace)::EnablePortClockIfFirstUse((anonymous namespace)::GpioPortId)>:
- GpioPortRefCounter io_port_ref_counters[kNumPorts];
- void EnablePortClockIfFirstUse(GpioPortId port_id) {
- GpioPortRefCounter *ref_counter = &io_port_ref_counters[port_id];
- uint8_t ref_count = ref_counter->gpio_ref_count + ref_counter->adc_ref_count;
- 80009d0: 4b08 ldr r3, [pc, #32] @ (80009f4 <(anonymous namespace)::EnablePortClockIfFirstUse((anonymous namespace)::GpioPortId)+0x24>)
- 80009d2: 0041 lsls r1, r0, #1
- 80009d4: 5cca ldrb r2, [r1, r3]
- 80009d6: 185b adds r3, r3, r1
- 80009d8: 785b ldrb r3, [r3, #1]
- 80009da: 18d3 adds r3, r2, r3
- 80009dc: b2db uxtb r3, r3
- if (ref_count == 1) {
- 80009de: 2b01 cmp r3, #1
- 80009e0: d000 beq.n 80009e4 <(anonymous namespace)::EnablePortClockIfFirstUse((anonymous namespace)::GpioPortId)+0x14>
- // First instance of IO port usage, enable RCC IO port clock
- uint32_t mask = 0b1 << port_id;
- RCC->IOPENR |= mask;
- }
- }
- 80009e2: 4770 bx lr
- uint32_t mask = 0b1 << port_id;
- 80009e4: 2201 movs r2, #1
- 80009e6: 4082 lsls r2, r0
- RCC->IOPENR |= mask;
- 80009e8: 4903 ldr r1, [pc, #12] @ (80009f8 <(anonymous namespace)::EnablePortClockIfFirstUse((anonymous namespace)::GpioPortId)+0x28>)
- 80009ea: 6b4b ldr r3, [r1, #52] @ 0x34
- 80009ec: 4313 orrs r3, r2
- 80009ee: 634b str r3, [r1, #52] @ 0x34
- }
- 80009f0: e7f7 b.n 80009e2 <(anonymous namespace)::EnablePortClockIfFirstUse((anonymous namespace)::GpioPortId)+0x12>
- 80009f2: 46c0 nop @ (mov r8, r8)
- 80009f4: 20000728 .word 0x20000728
- 80009f8: 40021000 .word 0x40021000
- 080009fc <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)>:
- GpioPortId GetPortIdFromPortRegisters(GPIO_TypeDef *port) {
- 80009fc: b510 push {r4, lr}
- if (port == GPIOA) {
- 80009fe: 23a0 movs r3, #160 @ 0xa0
- 8000a00: 05db lsls r3, r3, #23
- 8000a02: 4298 cmp r0, r3
- 8000a04: d013 beq.n 8000a2e <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x32>
- } else if (port == GPIOB) {
- 8000a06: 4b0e ldr r3, [pc, #56] @ (8000a40 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x44>)
- 8000a08: 4298 cmp r0, r3
- 8000a0a: d012 beq.n 8000a32 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x36>
- } else if (port == GPIOC) {
- 8000a0c: 4b0d ldr r3, [pc, #52] @ (8000a44 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x48>)
- 8000a0e: 4298 cmp r0, r3
- 8000a10: d011 beq.n 8000a36 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x3a>
- } else if (port == GPIOD) {
- 8000a12: 4b0d ldr r3, [pc, #52] @ (8000a48 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x4c>)
- 8000a14: 4298 cmp r0, r3
- 8000a16: d010 beq.n 8000a3a <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x3e>
- } else if (port == GPIOF) {
- 8000a18: 4b0c ldr r3, [pc, #48] @ (8000a4c <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x50>)
- 8000a1a: 4298 cmp r0, r3
- 8000a1c: d101 bne.n 8000a22 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x26>
- return kPortF;
- 8000a1e: 2004 movs r0, #4
- }
- 8000a20: bd10 pop {r4, pc}
- assert(0);
- 8000a22: 4b0b ldr r3, [pc, #44] @ (8000a50 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x54>)
- 8000a24: 4a0b ldr r2, [pc, #44] @ (8000a54 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x58>)
- 8000a26: 480c ldr r0, [pc, #48] @ (8000a58 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x5c>)
- 8000a28: 2154 movs r1, #84 @ 0x54
- 8000a2a: f7ff ff16 bl 800085a <__assert_func>
- return kPortA;
- 8000a2e: 2000 movs r0, #0
- 8000a30: e7f6 b.n 8000a20 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x24>
- return kPortB;
- 8000a32: 2001 movs r0, #1
- 8000a34: e7f4 b.n 8000a20 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x24>
- return kPortC;
- 8000a36: 2002 movs r0, #2
- 8000a38: e7f2 b.n 8000a20 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x24>
- return kPortD;
- 8000a3a: 2003 movs r0, #3
- 8000a3c: e7f0 b.n 8000a20 <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)+0x24>
- 8000a3e: 46c0 nop @ (mov r8, r8)
- 8000a40: 50000400 .word 0x50000400
- 8000a44: 50000800 .word 0x50000800
- 8000a48: 50000c00 .word 0x50000c00
- 8000a4c: 50001400 .word 0x50001400
- 8000a50: 08013b80 .word 0x08013b80
- 8000a54: 08013b84 .word 0x08013b84
- 8000a58: 08013bd4 .word 0x08013bd4
- 08000a5c <(anonymous namespace)::IncrementPortClockRefCount(GPIO_TypeDef*)>:
- if (ref_count == 0) {
- // TODO: Disable RCC IO port clock
- }
- }
- void IncrementPortClockRefCount(GPIO_TypeDef *port) {
- 8000a5c: b510 push {r4, lr}
- GpioPortId port_id = GetPortIdFromPortRegisters(port);
- 8000a5e: f7ff ffcd bl 80009fc <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)>
- io_port_ref_counters[port_id].gpio_ref_count++;
- 8000a62: 4b04 ldr r3, [pc, #16] @ (8000a74 <(anonymous namespace)::IncrementPortClockRefCount(GPIO_TypeDef*)+0x18>)
- 8000a64: 0041 lsls r1, r0, #1
- 8000a66: 5cca ldrb r2, [r1, r3]
- 8000a68: 3201 adds r2, #1
- 8000a6a: 54ca strb r2, [r1, r3]
- EnablePortClockIfFirstUse(port_id);
- 8000a6c: f7ff ffb0 bl 80009d0 <(anonymous namespace)::EnablePortClockIfFirstUse((anonymous namespace)::GpioPortId)>
- }
- 8000a70: bd10 pop {r4, pc}
- 8000a72: 46c0 nop @ (mov r8, r8)
- 8000a74: 20000728 .word 0x20000728
- 08000a78 <(anonymous namespace)::GetPortIdFromPin(mcu::stm32g070::Gpio::GpioId)>:
- GpioPortId GetPortIdFromPin(mcu::stm32g070::Gpio::GpioId pin) {
- 8000a78: b510 push {r4, lr}
- return GetPortIdFromPortRegisters(GetPortRegister(pin));
- 8000a7a: f7ff ff45 bl 8000908 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)>
- 8000a7e: f7ff ffbd bl 80009fc <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)>
- }
- 8000a82: bd10 pop {r4, pc}
- 08000a84 <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)>:
- void DecrementPortClockRefCount(GPIO_TypeDef *port) {
- 8000a84: b510 push {r4, lr}
- GpioPortId port_id = GetPortIdFromPortRegisters(port);
- 8000a86: f7ff ffb9 bl 80009fc <(anonymous namespace)::GetPortIdFromPortRegisters(GPIO_TypeDef*)>
- assert(io_port_ref_counters[port_id].gpio_ref_count > 0);
- 8000a8a: 4b08 ldr r3, [pc, #32] @ (8000aac <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)+0x28>)
- 8000a8c: 0042 lsls r2, r0, #1
- 8000a8e: 5cd3 ldrb r3, [r2, r3]
- 8000a90: 2b00 cmp r3, #0
- 8000a92: d004 beq.n 8000a9e <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)+0x1a>
- io_port_ref_counters[port_id].gpio_ref_count--;
- 8000a94: 4a05 ldr r2, [pc, #20] @ (8000aac <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)+0x28>)
- 8000a96: 0040 lsls r0, r0, #1
- 8000a98: 3b01 subs r3, #1
- 8000a9a: 5483 strb r3, [r0, r2]
- DisablePortClockIfUnused(port_id);
- }
- 8000a9c: bd10 pop {r4, pc}
- assert(io_port_ref_counters[port_id].gpio_ref_count > 0);
- 8000a9e: 4b04 ldr r3, [pc, #16] @ (8000ab0 <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)+0x2c>)
- 8000aa0: 4a04 ldr r2, [pc, #16] @ (8000ab4 <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)+0x30>)
- 8000aa2: 4805 ldr r0, [pc, #20] @ (8000ab8 <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)+0x34>)
- 8000aa4: 217e movs r1, #126 @ 0x7e
- 8000aa6: f7ff fed8 bl 800085a <__assert_func>
- 8000aaa: 46c0 nop @ (mov r8, r8)
- 8000aac: 20000728 .word 0x20000728
- 8000ab0: 08013c04 .word 0x08013c04
- 8000ab4: 08013c38 .word 0x08013c38
- 8000ab8: 08013bd4 .word 0x08013bd4
- 08000abc <mcu::stm32g070::Gpio::Gpio(std::span<mcu::stm32g070::Gpio::GpioConfig const, 4294967295u>)>:
- } // namespace
- namespace mcu::stm32g070 {
- Gpio::Gpio(std::span<const GpioConfig> default_pin_configurations)
- 8000abc: b510 push {r4, lr}
- 8000abe: b082 sub sp, #8
- 8000ac0: 466b mov r3, sp
- 8000ac2: 9100 str r1, [sp, #0]
- 8000ac4: 605a str r2, [r3, #4]
- : default_pin_cfg_{default_pin_configurations} {
- 8000ac6: 0002 movs r2, r0
- 8000ac8: cb12 ldmia r3!, {r1, r4}
- 8000aca: c212 stmia r2!, {r1, r4}
- }
- 8000acc: b002 add sp, #8
- 8000ace: bd10 pop {r4, pc}
- 08000ad0 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)>:
- break;
- }
- }
- }
- void Gpio::Configure(GpioId pin, const GpioConfig &config) {
- 8000ad0: b5f8 push {r3, r4, r5, r6, r7, lr}
- 8000ad2: 0005 movs r5, r0
- 8000ad4: 000e movs r6, r1
- GPIO_TypeDef *port = GetPortRegister(pin);
- 8000ad6: f7ff ff17 bl 8000908 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)>
- 8000ada: 1e04 subs r4, r0, #0
- assert(port != nullptr);
- 8000adc: d00a beq.n 8000af4 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x24>
- uint8_t port_pin = pin & kPinMask;
- 8000ade: 200f movs r0, #15
- 8000ae0: 4005 ands r5, r0
- uint8_t mode_bit_value =
- (config.mode == mcu::stm32g070::Gpio::kInput) ? 0b00
- 8000ae2: 7873 ldrb r3, [r6, #1]
- 8000ae4: 2b02 cmp r3, #2
- 8000ae6: d00b beq.n 8000b00 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x30>
- 8000ae8: 2b03 cmp r3, #3
- 8000aea: d00b beq.n 8000b04 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x34>
- 8000aec: 2b01 cmp r3, #1
- 8000aee: d123 bne.n 8000b38 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x68>
- 8000af0: 2700 movs r7, #0
- 8000af2: e008 b.n 8000b06 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x36>
- assert(port != nullptr);
- 8000af4: 4b25 ldr r3, [pc, #148] @ (8000b8c <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0xbc>)
- 8000af6: 4a26 ldr r2, [pc, #152] @ (8000b90 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0xc0>)
- 8000af8: 4826 ldr r0, [pc, #152] @ (8000b94 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0xc4>)
- 8000afa: 21c9 movs r1, #201 @ 0xc9
- 8000afc: f7ff fead bl 800085a <__assert_func>
- (config.mode == mcu::stm32g070::Gpio::kInput) ? 0b00
- 8000b00: 2701 movs r7, #1
- 8000b02: e000 b.n 8000b06 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x36>
- 8000b04: 2702 movs r7, #2
- // TODO: Need to implement reference counting policy to disable the port
- // clock, but for now, just enable the port. Note that explicit setting to
- // analog mode assumes that the pin is being disabled. Analog usage is a
- // separate reference counting call that needs to be done in the ADC driver.
- if (config.mode == mcu::stm32g070::Gpio::kAnalog) {
- 8000b06: 2b00 cmp r3, #0
- 8000b08: d118 bne.n 8000b3c <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x6c>
- DecrementPortClockRefCount(port);
- 8000b0a: 0020 movs r0, r4
- 8000b0c: f7ff ffba bl 8000a84 <(anonymous namespace)::DecrementPortClockRefCount(GPIO_TypeDef*)>
- } else {
- IncrementPortClockRefCount(port);
- }
- if (config.mode == mcu::stm32g070::Gpio::kInput) {
- 8000b10: 7873 ldrb r3, [r6, #1]
- 8000b12: 2b01 cmp r3, #1
- 8000b14: d016 beq.n 8000b44 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x74>
- SetPullResistor(port, port_pin, config.input_cfg.pull_resistor);
- } else if (config.mode == mcu::stm32g070::Gpio::kOutput) {
- 8000b16: 2b02 cmp r3, #2
- 8000b18: d01a beq.n 8000b50 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x80>
- SetPullResistor(port, port_pin, config.output_cfg.pull_resistor);
- SetOutputConfig(port, port_pin, config.output_cfg.output_type,
- config.output_cfg.speed);
- } else if (config.mode == mcu::stm32g070::Gpio::kAnalog) {
- 8000b1a: 2b00 cmp r3, #0
- 8000b1c: d001 beq.n 8000b22 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x52>
- // No-op since pull up/down is automatically disconnected in analog mode
- } else if (config.mode == mcu::stm32g070::Gpio::kAlternateFunc) {
- 8000b1e: 2b03 cmp r3, #3
- 8000b20: d022 beq.n 8000b68 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x98>
- config.af_cfg.speed);
- SetAltConfig(port, port_pin, config.af_cfg.alt_func);
- }
- // Set GPIO mode last to avoid glitching
- port->MODER &= ~(0b11 << (port_pin << 1));
- 8000b22: 6823 ldr r3, [r4, #0]
- 8000b24: 006d lsls r5, r5, #1
- 8000b26: 2203 movs r2, #3
- 8000b28: 40aa lsls r2, r5
- 8000b2a: 4393 bics r3, r2
- 8000b2c: 6023 str r3, [r4, #0]
- port->MODER |= (mode_bit_value << (port_pin << 1));
- 8000b2e: 6823 ldr r3, [r4, #0]
- 8000b30: 40af lsls r7, r5
- 8000b32: 433b orrs r3, r7
- 8000b34: 6023 str r3, [r4, #0]
- }
- 8000b36: bdf8 pop {r3, r4, r5, r6, r7, pc}
- (config.mode == mcu::stm32g070::Gpio::kInput) ? 0b00
- 8000b38: 2703 movs r7, #3
- 8000b3a: e7e4 b.n 8000b06 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x36>
- IncrementPortClockRefCount(port);
- 8000b3c: 0020 movs r0, r4
- 8000b3e: f7ff ff8d bl 8000a5c <(anonymous namespace)::IncrementPortClockRefCount(GPIO_TypeDef*)>
- 8000b42: e7e5 b.n 8000b10 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x40>
- SetPullResistor(port, port_pin, config.input_cfg.pull_resistor);
- 8000b44: 78b2 ldrb r2, [r6, #2]
- 8000b46: 0029 movs r1, r5
- 8000b48: 0020 movs r0, r4
- 8000b4a: f7ff fefb bl 8000944 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)>
- 8000b4e: e7e8 b.n 8000b22 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x52>
- SetPullResistor(port, port_pin, config.output_cfg.pull_resistor);
- 8000b50: 7932 ldrb r2, [r6, #4]
- 8000b52: 0029 movs r1, r5
- 8000b54: 0020 movs r0, r4
- 8000b56: f7ff fef5 bl 8000944 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)>
- SetOutputConfig(port, port_pin, config.output_cfg.output_type,
- 8000b5a: 78b2 ldrb r2, [r6, #2]
- config.output_cfg.speed);
- 8000b5c: 78f3 ldrb r3, [r6, #3]
- SetOutputConfig(port, port_pin, config.output_cfg.output_type,
- 8000b5e: 0029 movs r1, r5
- 8000b60: 0020 movs r0, r4
- 8000b62: f7ff ff0a bl 800097a <(anonymous namespace)::SetOutputConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioOutputType, mcu::stm32g070::Gpio::GpioOutputSpeed)>
- 8000b66: e7dc b.n 8000b22 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x52>
- SetPullResistor(port, port_pin, config.af_cfg.pull_resistor);
- 8000b68: 7972 ldrb r2, [r6, #5]
- 8000b6a: 0029 movs r1, r5
- 8000b6c: 0020 movs r0, r4
- 8000b6e: f7ff fee9 bl 8000944 <(anonymous namespace)::SetPullResistor(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioPullResistor)>
- SetOutputConfig(port, port_pin, config.af_cfg.output_type,
- 8000b72: 78f2 ldrb r2, [r6, #3]
- config.af_cfg.speed);
- 8000b74: 7933 ldrb r3, [r6, #4]
- SetOutputConfig(port, port_pin, config.af_cfg.output_type,
- 8000b76: 0029 movs r1, r5
- 8000b78: 0020 movs r0, r4
- 8000b7a: f7ff fefe bl 800097a <(anonymous namespace)::SetOutputConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioOutputType, mcu::stm32g070::Gpio::GpioOutputSpeed)>
- SetAltConfig(port, port_pin, config.af_cfg.alt_func);
- 8000b7e: 78b2 ldrb r2, [r6, #2]
- 8000b80: 0029 movs r1, r5
- 8000b82: 0020 movs r0, r4
- 8000b84: f7ff ff12 bl 80009ac <(anonymous namespace)::SetAltConfig(GPIO_TypeDef*, unsigned char, mcu::stm32g070::Gpio::GpioAltFunc)>
- 8000b88: e7cb b.n 8000b22 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)+0x52>
- 8000b8a: 46c0 nop @ (mov r8, r8)
- 8000b8c: 08013c74 .word 0x08013c74
- 8000b90: 08013c84 .word 0x08013c84
- 8000b94: 08013bd4 .word 0x08013bd4
- 08000b98 <mcu::stm32g070::Gpio::ConfigureAllToDefault()>:
- void Gpio::ConfigureAllToDefault() {
- 8000b98: b570 push {r4, r5, r6, lr}
- _GLIBCXX_CONSTEXPR __normal_iterator() _GLIBCXX_NOEXCEPT
- : _M_current(_Iterator()) { }
- explicit _GLIBCXX20_CONSTEXPR
- __normal_iterator(const _Iterator& __i) _GLIBCXX_NOEXCEPT
- : _M_current(__i) { }
- 8000b9a: 6805 ldr r5, [r0, #0]
- for (auto &config : default_pin_cfg_) {
- 8000b9c: 002c movs r4, r5
- { return this->_M_extent_value; }
- 8000b9e: 6842 ldr r2, [r0, #4]
- { return iterator(this->_M_ptr); }
- [[nodiscard]]
- constexpr iterator
- end() const noexcept
- { return iterator(this->_M_ptr + this->size()); }
- 8000ba0: 0053 lsls r3, r2, #1
- 8000ba2: 189b adds r3, r3, r2
- 8000ba4: 005b lsls r3, r3, #1
- 8000ba6: 18ed adds r5, r5, r3
- 8000ba8: e004 b.n 8000bb4 <mcu::stm32g070::Gpio::ConfigureAllToDefault()+0x1c>
- Gpio::Configure(config.pin, config);
- 8000baa: 7820 ldrb r0, [r4, #0]
- 8000bac: 0021 movs r1, r4
- 8000bae: f7ff ff8f bl 8000ad0 <mcu::stm32g070::Gpio::Configure(mcu::stm32g070::Gpio::GpioId, mcu::stm32g070::Gpio::GpioConfig const&)>
- _GLIBCXX20_CONSTEXPR
- __normal_iterator&
- operator++() _GLIBCXX_NOEXCEPT
- {
- ++_M_current;
- 8000bb2: 3406 adds r4, #6
- for (auto &config : default_pin_cfg_) {
- 8000bb4: 42a5 cmp r5, r4
- 8000bb6: d1f8 bne.n 8000baa <mcu::stm32g070::Gpio::ConfigureAllToDefault()+0x12>
- }
- 8000bb8: bd70 pop {r4, r5, r6, pc}
- 08000bba <mcu::stm32g070::Gpio::Write(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::LogicLevel)>:
- uint8_t port_pin = pin & kPinMask;
- uint32_t value = port->IDR & (0b1 << port_pin);
- return value ? Gpio::LogicLevel::kHigh : Gpio::LogicLevel::kLow;
- }
- void Gpio::Write(GpioId pin, Gpio::LogicLevel value) {
- 8000bba: b570 push {r4, r5, r6, lr}
- 8000bbc: 0004 movs r4, r0
- 8000bbe: 000d movs r5, r1
- GPIO_TypeDef *port = GetPortRegister(pin);
- 8000bc0: f7ff fea2 bl 8000908 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)>
- uint8_t port_pin = pin & kPinMask;
- 8000bc4: 220f movs r2, #15
- 8000bc6: 4022 ands r2, r4
- uint32_t mask = 0b1 << port_pin;
- 8000bc8: 2301 movs r3, #1
- 8000bca: 4093 lsls r3, r2
- if (value == Gpio::LogicLevel::kLow) {
- 8000bcc: 2d01 cmp r5, #1
- 8000bce: d003 beq.n 8000bd8 <mcu::stm32g070::Gpio::Write(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::LogicLevel)+0x1e>
- port->ODR &= ~mask;
- } else {
- port->ODR |= mask;
- 8000bd0: 6942 ldr r2, [r0, #20]
- 8000bd2: 4313 orrs r3, r2
- 8000bd4: 6143 str r3, [r0, #20]
- }
- }
- 8000bd6: bd70 pop {r4, r5, r6, pc}
- port->ODR &= ~mask;
- 8000bd8: 6942 ldr r2, [r0, #20]
- 8000bda: 439a bics r2, r3
- 8000bdc: 6142 str r2, [r0, #20]
- 8000bde: e7fa b.n 8000bd6 <mcu::stm32g070::Gpio::Write(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::LogicLevel)+0x1c>
- 08000be0 <mcu::stm32g070::Gpio::Toggle(mcu::stm32g070::Gpio::GpioId)>:
- Gpio::LogicLevel Gpio::Toggle(GpioId pin) {
- 8000be0: b510 push {r4, lr}
- 8000be2: 0004 movs r4, r0
- GPIO_TypeDef *port = GetPortRegister(pin);
- 8000be4: f7ff fe90 bl 8000908 <(anonymous namespace)::GetPortRegister(mcu::stm32g070::Gpio::GpioId)>
- uint8_t port_pin = pin & kPinMask;
- 8000be8: 220f movs r2, #15
- 8000bea: 4022 ands r2, r4
- uint32_t mask = 0b1 << port_pin;
- 8000bec: 2301 movs r3, #1
- 8000bee: 4093 lsls r3, r2
- uint32_t current_output_value = port->ODR & mask;
- 8000bf0: 6942 ldr r2, [r0, #20]
- if (current_output_value) {
- 8000bf2: 4213 tst r3, r2
- 8000bf4: d004 beq.n 8000c00 <mcu::stm32g070::Gpio::Toggle(mcu::stm32g070::Gpio::GpioId)+0x20>
- port->ODR &= ~mask;
- 8000bf6: 6942 ldr r2, [r0, #20]
- 8000bf8: 439a bics r2, r3
- 8000bfa: 6142 str r2, [r0, #20]
- return Gpio::LogicLevel::kLow;
- 8000bfc: 2001 movs r0, #1
- } else {
- port->ODR |= mask;
- return Gpio::LogicLevel::kHigh;
- }
- }
- 8000bfe: bd10 pop {r4, pc}
- port->ODR |= mask;
- 8000c00: 6942 ldr r2, [r0, #20]
- 8000c02: 4313 orrs r3, r2
- 8000c04: 6143 str r3, [r0, #20]
- return Gpio::LogicLevel::kHigh;
- 8000c06: 2000 movs r0, #0
- 8000c08: e7f9 b.n 8000bfe <mcu::stm32g070::Gpio::Toggle(mcu::stm32g070::Gpio::GpioId)+0x1e>
- ...
- 08000c0c <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)>:
- void Gpio::ConfigureInterrupt(GpioId pin, InterruptEvent interrupt_mode,
- InterruptDelegate callback) {
- 8000c0c: b5f0 push {r4, r5, r6, r7, lr}
- 8000c0e: 46c6 mov lr, r8
- 8000c10: b500 push {lr}
- 8000c12: 0006 movs r6, r0
- 8000c14: 000d movs r5, r1
- uint8_t port_pin = pin & kPinMask;
- 8000c16: 240f movs r4, #15
- 8000c18: 4004 ands r4, r0
- return stub_ptr != nullptr;
- 8000c1a: 4b2f ldr r3, [pc, #188] @ (8000cd8 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xcc>)
- 8000c1c: 0061 lsls r1, r4, #1
- 8000c1e: 1909 adds r1, r1, r4
- 8000c20: 0089 lsls r1, r1, #2
- 8000c22: 185b adds r3, r3, r1
- 8000c24: 689b ldr r3, [r3, #8]
- auto &gpio_irq_info = irq_callback_table[port_pin];
- assert(!gpio_irq_info.callback.IsValid());
- 8000c26: 2b00 cmp r3, #0
- 8000c28: d13c bne.n 8000ca4 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0x98>
- gpio_irq_info.pin = pin;
- 8000c2a: 4b2b ldr r3, [pc, #172] @ (8000cd8 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xcc>)
- 8000c2c: 0061 lsls r1, r4, #1
- 8000c2e: 1908 adds r0, r1, r4
- 8000c30: 0080 lsls r0, r0, #2
- 8000c32: 54c6 strb r6, [r0, r3]
- object_ptr = other.object_ptr;
- 8000c34: 6817 ldr r7, [r2, #0]
- 8000c36: 1908 adds r0, r1, r4
- 8000c38: 0080 lsls r0, r0, #2
- 8000c3a: 1818 adds r0, r3, r0
- 8000c3c: 6047 str r7, [r0, #4]
- stub_ptr = other.stub_ptr;
- 8000c3e: 6852 ldr r2, [r2, #4]
- 8000c40: 6082 str r2, [r0, #8]
- gpio_irq_info.callback = callback;
- RCC->APBENR2 |= RCC_APBENR2_SYSCFGEN;
- 8000c42: 4a26 ldr r2, [pc, #152] @ (8000cdc <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd0>)
- 8000c44: 6c13 ldr r3, [r2, #64] @ 0x40
- 8000c46: 2101 movs r1, #1
- 8000c48: 430b orrs r3, r1
- 8000c4a: 6413 str r3, [r2, #64] @ 0x40
- auto port_id = GetPortIdFromPin(pin);
- 8000c4c: 0030 movs r0, r6
- 8000c4e: f7ff ff13 bl 8000a78 <(anonymous namespace)::GetPortIdFromPin(mcu::stm32g070::Gpio::GpioId)>
- 8000c52: 4680 mov r8, r0
- auto quadrant = port_pin >> 2;
- 8000c54: 08a3 lsrs r3, r4, #2
- auto quadrant_line = port_pin & 0x3;
- 8000c56: 2203 movs r2, #3
- 8000c58: 4032 ands r2, r6
- EXTI->EXTICR[quadrant] &= ~(0x2f << (quadrant_line << 3));
- 8000c5a: 4921 ldr r1, [pc, #132] @ (8000ce0 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd4>)
- 8000c5c: 3318 adds r3, #24
- 8000c5e: 009b lsls r3, r3, #2
- 8000c60: 585f ldr r7, [r3, r1]
- 8000c62: 00d2 lsls r2, r2, #3
- 8000c64: 202f movs r0, #47 @ 0x2f
- 8000c66: 4090 lsls r0, r2
- 8000c68: 4387 bics r7, r0
- 8000c6a: 505f str r7, [r3, r1]
- EXTI->EXTICR[quadrant] |= (port_id << (quadrant_line << 3));
- 8000c6c: 585f ldr r7, [r3, r1]
- 8000c6e: 4640 mov r0, r8
- 8000c70: 4090 lsls r0, r2
- 8000c72: 4307 orrs r7, r0
- 8000c74: 505f str r7, [r3, r1]
- if (interrupt_mode == InterruptEvent::kRisingEdge ||
- 8000c76: 2d00 cmp r5, #0
- 8000c78: d001 beq.n 8000c7e <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0x72>
- 8000c7a: 2d02 cmp r5, #2
- 8000c7c: d105 bne.n 8000c8a <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0x7e>
- interrupt_mode == InterruptEvent::kBothEdges) {
- EXTI->RTSR1 |= (1 << port_pin);
- 8000c7e: 4918 ldr r1, [pc, #96] @ (8000ce0 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd4>)
- 8000c80: 680b ldr r3, [r1, #0]
- 8000c82: 2201 movs r2, #1
- 8000c84: 40a2 lsls r2, r4
- 8000c86: 4313 orrs r3, r2
- 8000c88: 600b str r3, [r1, #0]
- }
- if (interrupt_mode == InterruptEvent::kFallingEdge ||
- 8000c8a: 3d01 subs r5, #1
- 8000c8c: b2ed uxtb r5, r5
- 8000c8e: 2d01 cmp r5, #1
- 8000c90: d90f bls.n 8000cb2 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xa6>
- interrupt_mode == InterruptEvent::kBothEdges) {
- EXTI->FTSR1 |= (1 << port_pin);
- }
- if (port_pin < 2) {
- 8000c92: 230e movs r3, #14
- 8000c94: 4233 tst r3, r6
- 8000c96: d113 bne.n 8000cc0 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xb4>
- __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
- {
- if ((int32_t)(IRQn) >= 0)
- {
- __COMPILER_BARRIER();
- NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
- 8000c98: 4b12 ldr r3, [pc, #72] @ (8000ce4 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd8>)
- 8000c9a: 2220 movs r2, #32
- 8000c9c: 601a str r2, [r3, #0]
- } else if (port_pin < 4) {
- NVIC_EnableIRQ(EXTI2_3_IRQn);
- } else {
- NVIC_EnableIRQ(EXTI4_15_IRQn);
- }
- }
- 8000c9e: bc80 pop {r7}
- 8000ca0: 46b8 mov r8, r7
- 8000ca2: bdf0 pop {r4, r5, r6, r7, pc}
- assert(!gpio_irq_info.callback.IsValid());
- 8000ca4: 4b10 ldr r3, [pc, #64] @ (8000ce8 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xdc>)
- 8000ca6: 4a11 ldr r2, [pc, #68] @ (8000cec <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xe0>)
- 8000ca8: 218a movs r1, #138 @ 0x8a
- 8000caa: 4811 ldr r0, [pc, #68] @ (8000cf0 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xe4>)
- 8000cac: 0049 lsls r1, r1, #1
- 8000cae: f7ff fdd4 bl 800085a <__assert_func>
- EXTI->FTSR1 |= (1 << port_pin);
- 8000cb2: 490b ldr r1, [pc, #44] @ (8000ce0 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd4>)
- 8000cb4: 684b ldr r3, [r1, #4]
- 8000cb6: 2201 movs r2, #1
- 8000cb8: 40a2 lsls r2, r4
- 8000cba: 4313 orrs r3, r2
- 8000cbc: 604b str r3, [r1, #4]
- 8000cbe: e7e8 b.n 8000c92 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0x86>
- } else if (port_pin < 4) {
- 8000cc0: 230c movs r3, #12
- 8000cc2: 4233 tst r3, r6
- 8000cc4: d103 bne.n 8000cce <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xc2>
- 8000cc6: 4b07 ldr r3, [pc, #28] @ (8000ce4 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd8>)
- 8000cc8: 2240 movs r2, #64 @ 0x40
- 8000cca: 601a str r2, [r3, #0]
- __COMPILER_BARRIER();
- }
- }
- 8000ccc: e7e7 b.n 8000c9e <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0x92>
- NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
- 8000cce: 4b05 ldr r3, [pc, #20] @ (8000ce4 <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0xd8>)
- 8000cd0: 2280 movs r2, #128 @ 0x80
- 8000cd2: 601a str r2, [r3, #0]
- }
- 8000cd4: e7e3 b.n 8000c9e <mcu::stm32g070::Gpio::ConfigureInterrupt(mcu::stm32g070::Gpio::GpioId, mcu::hal::gpio::InterruptEvent, rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>)+0x92>
- 8000cd6: 46c0 nop @ (mov r8, r8)
- 8000cd8: 20000734 .word 0x20000734
- 8000cdc: 40021000 .word 0x40021000
- 8000ce0: 40021800 .word 0x40021800
- 8000ce4: e000e100 .word 0xe000e100
- 8000ce8: 08013e34 .word 0x08013e34
- 8000cec: 08013e58 .word 0x08013e58
- 8000cf0: 08013bd4 .word 0x08013bd4
- 08000cf4 <rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::operator()(mcu::stm32g070::Gpio::GpioId) const>:
- ReturnType operator()(Args... args) const {
- 8000cf4: b510 push {r4, lr}
- assert(stub_ptr != nullptr);
- 8000cf6: 6843 ldr r3, [r0, #4]
- 8000cf8: 2b00 cmp r3, #0
- 8000cfa: d002 beq.n 8000d02 <rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::operator()(mcu::stm32g070::Gpio::GpioId) const+0xe>
- return (*stub_ptr)(object_ptr, std::forward<Args>(args)...);
- 8000cfc: 6800 ldr r0, [r0, #0]
- 8000cfe: 4798 blx r3
- }
- 8000d00: bd10 pop {r4, pc}
- assert(stub_ptr != nullptr);
- 8000d02: 4b03 ldr r3, [pc, #12] @ (8000d10 <rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::operator()(mcu::stm32g070::Gpio::GpioId) const+0x1c>)
- 8000d04: 4a03 ldr r2, [pc, #12] @ (8000d14 <rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::operator()(mcu::stm32g070::Gpio::GpioId) const+0x20>)
- 8000d06: 4804 ldr r0, [pc, #16] @ (8000d18 <rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::operator()(mcu::stm32g070::Gpio::GpioId) const+0x24>)
- 8000d08: 214a movs r1, #74 @ 0x4a
- 8000d0a: f7ff fda6 bl 800085a <__assert_func>
- 8000d0e: 46c0 nop @ (mov r8, r8)
- 8000d10: 08013eb8 .word 0x08013eb8
- 8000d14: 08013ecc .word 0x08013ecc
- 8000d18: 08013f5c .word 0x08013f5c
- 08000d1c <(anonymous namespace)::CommonISRHandler(unsigned short)>:
- void CommonISRHandler([[maybe_unused]] uint16_t exti_set_mask) {
- 8000d1c: b570 push {r4, r5, r6, lr}
- 8000d1e: 0005 movs r5, r0
- while (exti_set_mask) {
- 8000d20: e011 b.n 8000d46 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x2a>
- // Element access.
- [[__nodiscard__]]
- _GLIBCXX17_CONSTEXPR reference
- operator[](size_type __n) noexcept
- {
- __glibcxx_requires_subscript(__n);
- 8000d22: 4b18 ldr r3, [pc, #96] @ (8000d84 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x68>)
- 8000d24: 4a18 ldr r2, [pc, #96] @ (8000d88 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x6c>)
- 8000d26: 4819 ldr r0, [pc, #100] @ (8000d8c <(anonymous namespace)::CommonISRHandler(unsigned short)+0x70>)
- 8000d28: 21ca movs r1, #202 @ 0xca
- 8000d2a: f000 f97d bl 8001028 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)>
- EXTI->RPR1 &= (1 << index);
- 8000d2e: 4a18 ldr r2, [pc, #96] @ (8000d90 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x74>)
- 8000d30: 68d1 ldr r1, [r2, #12]
- 8000d32: 2301 movs r3, #1
- 8000d34: 40a3 lsls r3, r4
- 8000d36: 4019 ands r1, r3
- 8000d38: 60d1 str r1, [r2, #12]
- EXTI->FPR1 &= (1 << index);
- 8000d3a: 6911 ldr r1, [r2, #16]
- 8000d3c: 4019 ands r1, r3
- 8000d3e: 6111 str r1, [r2, #16]
- exti_set_mask &= ~(1 << index);
- 8000d40: 43db mvns r3, r3
- 8000d42: b21b sxth r3, r3
- 8000d44: 401d ands r5, r3
- while (exti_set_mask) {
- 8000d46: 2d00 cmp r5, #0
- 8000d48: d01a beq.n 8000d80 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x64>
- uint8_t index = __builtin_ctz(exti_set_mask);
- 8000d4a: 0028 movs r0, r5
- 8000d4c: f7ff fa40 bl 80001d0 <__ctzsi2>
- auto &gpio_irq_info = irq_callback_table[index];
- 8000d50: 24ff movs r4, #255 @ 0xff
- 8000d52: 4004 ands r4, r0
- 8000d54: 2c0f cmp r4, #15
- 8000d56: d8e4 bhi.n 8000d22 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x6>
- return stub_ptr != nullptr;
- 8000d58: 4b0e ldr r3, [pc, #56] @ (8000d94 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x78>)
- 8000d5a: 0062 lsls r2, r4, #1
- 8000d5c: 1912 adds r2, r2, r4
- 8000d5e: 0092 lsls r2, r2, #2
- 8000d60: 189b adds r3, r3, r2
- 8000d62: 689b ldr r3, [r3, #8]
- if (gpio_irq_info.callback.IsValid()) {
- 8000d64: 2b00 cmp r3, #0
- 8000d66: d0e2 beq.n 8000d2e <(anonymous namespace)::CommonISRHandler(unsigned short)+0x12>
- gpio_irq_info.callback(gpio_irq_info.pin);
- 8000d68: 4a0a ldr r2, [pc, #40] @ (8000d94 <(anonymous namespace)::CommonISRHandler(unsigned short)+0x78>)
- 8000d6a: 0060 lsls r0, r4, #1
- 8000d6c: 1901 adds r1, r0, r4
- 8000d6e: 0089 lsls r1, r1, #2
- 8000d70: 5c89 ldrb r1, [r1, r2]
- 8000d72: 1900 adds r0, r0, r4
- 8000d74: 0080 lsls r0, r0, #2
- 8000d76: 1880 adds r0, r0, r2
- 8000d78: 3004 adds r0, #4
- 8000d7a: f7ff ffbb bl 8000cf4 <rtlib::Delegate<void (mcu::stm32g070::Gpio::GpioId)>::operator()(mcu::stm32g070::Gpio::GpioId) const>
- 8000d7e: e7d6 b.n 8000d2e <(anonymous namespace)::CommonISRHandler(unsigned short)+0x12>
- }
- 8000d80: bd70 pop {r4, r5, r6, pc}
- 8000d82: 46c0 nop @ (mov r8, r8)
- 8000d84: 08013ccc .word 0x08013ccc
- 8000d88: 08013ce0 .word 0x08013ce0
- 8000d8c: 08013dc4 .word 0x08013dc4
- 8000d90: 40021800 .word 0x40021800
- 8000d94: 20000734 .word 0x20000734
- 08000d98 <EXTI0_1_IRQHandler>:
- extern "C" void EXTI0_1_IRQHandler(void) {
- 8000d98: b510 push {r4, lr}
- uint16_t mask = SYSCFG->IT_LINE_SR[5] & 0b11;
- 8000d9a: 4a04 ldr r2, [pc, #16] @ (8000dac <EXTI0_1_IRQHandler+0x14>)
- 8000d9c: 2394 movs r3, #148 @ 0x94
- 8000d9e: 58d0 ldr r0, [r2, r3]
- 8000da0: 3b91 subs r3, #145 @ 0x91
- 8000da2: 4018 ands r0, r3
- CommonISRHandler(mask);
- 8000da4: f7ff ffba bl 8000d1c <(anonymous namespace)::CommonISRHandler(unsigned short)>
- }
- 8000da8: bd10 pop {r4, pc}
- 8000daa: 46c0 nop @ (mov r8, r8)
- 8000dac: 40010000 .word 0x40010000
- 08000db0 <EXTI2_3_IRQHandler>:
- extern "C" void EXTI2_3_IRQHandler(void) {
- 8000db0: b510 push {r4, lr}
- uint16_t mask = (SYSCFG->IT_LINE_SR[6] & 0b11) << 2;
- 8000db2: 4a04 ldr r2, [pc, #16] @ (8000dc4 <EXTI2_3_IRQHandler+0x14>)
- 8000db4: 2398 movs r3, #152 @ 0x98
- 8000db6: 58d0 ldr r0, [r2, r3]
- 8000db8: 0080 lsls r0, r0, #2
- 8000dba: 3b8c subs r3, #140 @ 0x8c
- 8000dbc: 4018 ands r0, r3
- CommonISRHandler(mask);
- 8000dbe: f7ff ffad bl 8000d1c <(anonymous namespace)::CommonISRHandler(unsigned short)>
- }
- 8000dc2: bd10 pop {r4, pc}
- 8000dc4: 40010000 .word 0x40010000
- 08000dc8 <EXTI4_15_IRQHandler>:
- extern "C" void EXTI4_15_IRQHandler(void) {
- 8000dc8: b510 push {r4, lr}
- uint16_t mask = (SYSCFG->IT_LINE_SR[7] & 0xfff) << 4;
- 8000dca: 4a04 ldr r2, [pc, #16] @ (8000ddc <EXTI4_15_IRQHandler+0x14>)
- 8000dcc: 239c movs r3, #156 @ 0x9c
- 8000dce: 58d0 ldr r0, [r2, r3]
- 8000dd0: b280 uxth r0, r0
- 8000dd2: 0100 lsls r0, r0, #4
- 8000dd4: b280 uxth r0, r0
- CommonISRHandler(mask);
- 8000dd6: f7ff ffa1 bl 8000d1c <(anonymous namespace)::CommonISRHandler(unsigned short)>
- }
- 8000dda: bd10 pop {r4, pc}
- 8000ddc: 40010000 .word 0x40010000
- 08000de0 <mcu::stm32g070::SysClock::Set64MHzSysClk()>:
- // APB prescaled by 4 for 16 MHz PCLK
- static void Set64MHzSysClk(void) {
- // NOTE: Assume POR conditions at this point: SYSCLK = HSI @ 16 MHz
- // Disable PLL
- RCC->CR &= (uint32_t)(~RCC_CR_PLLON);
- 8000de0: 4a21 ldr r2, [pc, #132] @ (8000e68 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x88>)
- 8000de2: 6813 ldr r3, [r2, #0]
- 8000de4: 4921 ldr r1, [pc, #132] @ (8000e6c <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x8c>)
- 8000de6: 400b ands r3, r1
- 8000de8: 6013 str r3, [r2, #0]
- while ((RCC->CR & RCC_CR_PLLRDY) != 0);
- 8000dea: 4b1f ldr r3, [pc, #124] @ (8000e68 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x88>)
- 8000dec: 681b ldr r3, [r3, #0]
- 8000dee: 019b lsls r3, r3, #6
- 8000df0: d4fb bmi.n 8000dea <mcu::stm32g070::SysClock::Set64MHzSysClk()+0xa>
- // Set flash latency to 2 wait states
- FLASH->ACR &= (uint32_t)(~FLASH_ACR_LATENCY);
- 8000df2: 4b1f ldr r3, [pc, #124] @ (8000e70 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x90>)
- 8000df4: 681a ldr r2, [r3, #0]
- 8000df6: 2107 movs r1, #7
- 8000df8: 438a bics r2, r1
- 8000dfa: 601a str r2, [r3, #0]
- FLASH->ACR |= FLASH_ACR_LATENCY_1;
- 8000dfc: 681a ldr r2, [r3, #0]
- 8000dfe: 3905 subs r1, #5
- 8000e00: 430a orrs r2, r1
- 8000e02: 601a str r2, [r3, #0]
- while ((FLASH->ACR & FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_1);
- 8000e04: 4b1a ldr r3, [pc, #104] @ (8000e70 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x90>)
- 8000e06: 681a ldr r2, [r3, #0]
- 8000e08: 2307 movs r3, #7
- 8000e0a: 4013 ands r3, r2
- 8000e0c: 2b02 cmp r3, #2
- 8000e0e: d1f9 bne.n 8000e04 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x24>
- // Enable instruction prefech & cache
- FLASH->ACR |= FLASH_ACR_PRFTEN;
- 8000e10: 4b17 ldr r3, [pc, #92] @ (8000e70 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x90>)
- 8000e12: 6819 ldr r1, [r3, #0]
- 8000e14: 2280 movs r2, #128 @ 0x80
- 8000e16: 0052 lsls r2, r2, #1
- 8000e18: 430a orrs r2, r1
- 8000e1a: 601a str r2, [r3, #0]
- FLASH->ACR |= FLASH_ACR_ICEN;
- 8000e1c: 6819 ldr r1, [r3, #0]
- 8000e1e: 2280 movs r2, #128 @ 0x80
- 8000e20: 0092 lsls r2, r2, #2
- 8000e22: 430a orrs r2, r1
- 8000e24: 601a str r2, [r3, #0]
- // fVCO = HSI * (N/M) = 16 MHz * 16 = 256 MHz
- // fPLLR = fVCO / 4 = 64 MHz
- RCC->PLLCFGR = (0b011 << RCC_PLLCFGR_PLLR_Pos) | RCC_PLLCFGR_PLLREN |
- 8000e26: 4b10 ldr r3, [pc, #64] @ (8000e68 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x88>)
- 8000e28: 4a12 ldr r2, [pc, #72] @ (8000e74 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x94>)
- 8000e2a: 60da str r2, [r3, #12]
- (0b100000 << RCC_PLLCFGR_PLLN_Pos) |
- (0b001 << RCC_PLLCFGR_PLLM_Pos) | RCC_PLLCFGR_PLLSRC_1;
- // Set APB prescalar to /4 for PCLK = 16 Mhz
- RCC->CFGR &= ~(RCC_CFGR_PPRE);
- 8000e2c: 689a ldr r2, [r3, #8]
- 8000e2e: 4912 ldr r1, [pc, #72] @ (8000e78 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x98>)
- 8000e30: 400a ands r2, r1
- 8000e32: 609a str r2, [r3, #8]
- RCC->CFGR |= (0b101 << RCC_CFGR_PPRE_Pos);
- 8000e34: 6899 ldr r1, [r3, #8]
- 8000e36: 22a0 movs r2, #160 @ 0xa0
- 8000e38: 01d2 lsls r2, r2, #7
- 8000e3a: 430a orrs r2, r1
- 8000e3c: 609a str r2, [r3, #8]
- // Enable PLL
- RCC->CR |= RCC_CR_PLLON;
- 8000e3e: 6819 ldr r1, [r3, #0]
- 8000e40: 2280 movs r2, #128 @ 0x80
- 8000e42: 0452 lsls r2, r2, #17
- 8000e44: 430a orrs r2, r1
- 8000e46: 601a str r2, [r3, #0]
- while ((RCC->CR & RCC_CR_PLLRDY) == 0);
- 8000e48: 4b07 ldr r3, [pc, #28] @ (8000e68 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x88>)
- 8000e4a: 681b ldr r3, [r3, #0]
- 8000e4c: 019b lsls r3, r3, #6
- 8000e4e: d5fb bpl.n 8000e48 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x68>
- // Use PLLRCLK as clock source for SYSCLK
- RCC->CFGR |= (uint32_t)(RCC_CFGR_SW_1);
- 8000e50: 4a05 ldr r2, [pc, #20] @ (8000e68 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x88>)
- 8000e52: 6893 ldr r3, [r2, #8]
- 8000e54: 2102 movs r1, #2
- 8000e56: 430b orrs r3, r1
- 8000e58: 6093 str r3, [r2, #8]
- while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1);
- 8000e5a: 4b03 ldr r3, [pc, #12] @ (8000e68 <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x88>)
- 8000e5c: 689a ldr r2, [r3, #8]
- 8000e5e: 2338 movs r3, #56 @ 0x38
- 8000e60: 4013 ands r3, r2
- 8000e62: 2b10 cmp r3, #16
- 8000e64: d1f9 bne.n 8000e5a <mcu::stm32g070::SysClock::Set64MHzSysClk()+0x7a>
- }
- 8000e66: 4770 bx lr
- 8000e68: 40021000 .word 0x40021000
- 8000e6c: feffffff .word 0xfeffffff
- 8000e70: 40022000 .word 0x40022000
- 8000e74: 70002012 .word 0x70002012
- 8000e78: ffff8fff .word 0xffff8fff
- 08000e7c <mcu::stm32g070::SysClock::Init()>:
- void Init() {
- 8000e7c: b510 push {r4, lr}
- Set64MHzSysClk();
- 8000e7e: f7ff ffaf bl 8000de0 <mcu::stm32g070::SysClock::Set64MHzSysClk()>
- }
- 8000e82: bd10 pop {r4, pc}
- 08000e84 <(anonymous namespace)::GetUartController(mcu::stm32g070::Uart::UartId)>:
- namespace {
- USART_TypeDef *GetUartController(mcu::stm32g070::Uart::UartId id) {
- static constexpr USART_TypeDef *table[mcu::stm32g070::Uart::kNumUartId] = {
- USART1, USART2, USART3, USART4};
- return table[id];
- 8000e84: 4b01 ldr r3, [pc, #4] @ (8000e8c <(anonymous namespace)::GetUartController(mcu::stm32g070::Uart::UartId)+0x8>)
- 8000e86: 0080 lsls r0, r0, #2
- 8000e88: 58c0 ldr r0, [r0, r3]
- }
- 8000e8a: 4770 bx lr
- 8000e8c: 08014bc4 .word 0x08014bc4
- 08000e90 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)>:
- void EnableUartClock(mcu::stm32g070::Uart::UartId id) {
- if (id == mcu::stm32g070::Uart::kUart1) {
- 8000e90: 2800 cmp r0, #0
- 8000e92: d106 bne.n 8000ea2 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x12>
- RCC->APBENR2 |= RCC_APBENR2_USART1EN;
- 8000e94: 4a10 ldr r2, [pc, #64] @ (8000ed8 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x48>)
- 8000e96: 6c11 ldr r1, [r2, #64] @ 0x40
- 8000e98: 2380 movs r3, #128 @ 0x80
- 8000e9a: 01db lsls r3, r3, #7
- 8000e9c: 430b orrs r3, r1
- 8000e9e: 6413 str r3, [r2, #64] @ 0x40
- } else if (id == mcu::stm32g070::Uart::kUart3) {
- RCC->APBENR1 |= RCC_APBENR1_USART3EN;
- } else if (id == mcu::stm32g070::Uart::kUart4) {
- RCC->APBENR1 |= RCC_APBENR1_USART4EN;
- }
- }
- 8000ea0: 4770 bx lr
- } else if (id == mcu::stm32g070::Uart::kUart2) {
- 8000ea2: 2801 cmp r0, #1
- 8000ea4: d00a beq.n 8000ebc <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x2c>
- } else if (id == mcu::stm32g070::Uart::kUart3) {
- 8000ea6: 2802 cmp r0, #2
- 8000ea8: d00f beq.n 8000eca <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x3a>
- } else if (id == mcu::stm32g070::Uart::kUart4) {
- 8000eaa: 2803 cmp r0, #3
- 8000eac: d1f8 bne.n 8000ea0 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x10>
- RCC->APBENR1 |= RCC_APBENR1_USART4EN;
- 8000eae: 4a0a ldr r2, [pc, #40] @ (8000ed8 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x48>)
- 8000eb0: 6bd1 ldr r1, [r2, #60] @ 0x3c
- 8000eb2: 2380 movs r3, #128 @ 0x80
- 8000eb4: 031b lsls r3, r3, #12
- 8000eb6: 430b orrs r3, r1
- 8000eb8: 63d3 str r3, [r2, #60] @ 0x3c
- }
- 8000eba: e7f1 b.n 8000ea0 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x10>
- RCC->APBENR1 |= RCC_APBENR1_USART2EN;
- 8000ebc: 4a06 ldr r2, [pc, #24] @ (8000ed8 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x48>)
- 8000ebe: 6bd1 ldr r1, [r2, #60] @ 0x3c
- 8000ec0: 2380 movs r3, #128 @ 0x80
- 8000ec2: 029b lsls r3, r3, #10
- 8000ec4: 430b orrs r3, r1
- 8000ec6: 63d3 str r3, [r2, #60] @ 0x3c
- 8000ec8: e7ea b.n 8000ea0 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x10>
- RCC->APBENR1 |= RCC_APBENR1_USART3EN;
- 8000eca: 4a03 ldr r2, [pc, #12] @ (8000ed8 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x48>)
- 8000ecc: 6bd1 ldr r1, [r2, #60] @ 0x3c
- 8000ece: 2380 movs r3, #128 @ 0x80
- 8000ed0: 02db lsls r3, r3, #11
- 8000ed2: 430b orrs r3, r1
- 8000ed4: 63d3 str r3, [r2, #60] @ 0x3c
- 8000ed6: e7e3 b.n 8000ea0 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)+0x10>
- 8000ed8: 40021000 .word 0x40021000
- 08000edc <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)>:
- void DisableUartClock(mcu::stm32g070::Uart::UartId id) {
- if (id == mcu::stm32g070::Uart::kUart1) {
- 8000edc: 2800 cmp r0, #0
- 8000ede: d105 bne.n 8000eec <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x10>
- RCC->APBENR2 &= ~RCC_APBENR2_USART1EN;
- 8000ee0: 4a0e ldr r2, [pc, #56] @ (8000f1c <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x40>)
- 8000ee2: 6c13 ldr r3, [r2, #64] @ 0x40
- 8000ee4: 490e ldr r1, [pc, #56] @ (8000f20 <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x44>)
- 8000ee6: 400b ands r3, r1
- 8000ee8: 6413 str r3, [r2, #64] @ 0x40
- } else if (id == mcu::stm32g070::Uart::kUart3) {
- RCC->APBENR1 &= ~RCC_APBENR1_USART3EN;
- } else if (id == mcu::stm32g070::Uart::kUart4) {
- RCC->APBENR1 &= ~RCC_APBENR1_USART4EN;
- }
- }
- 8000eea: 4770 bx lr
- } else if (id == mcu::stm32g070::Uart::kUart2) {
- 8000eec: 2801 cmp r0, #1
- 8000eee: d009 beq.n 8000f04 <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x28>
- } else if (id == mcu::stm32g070::Uart::kUart3) {
- 8000ef0: 2802 cmp r0, #2
- 8000ef2: d00d beq.n 8000f10 <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x34>
- } else if (id == mcu::stm32g070::Uart::kUart4) {
- 8000ef4: 2803 cmp r0, #3
- 8000ef6: d1f8 bne.n 8000eea <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0xe>
- RCC->APBENR1 &= ~RCC_APBENR1_USART4EN;
- 8000ef8: 4a08 ldr r2, [pc, #32] @ (8000f1c <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x40>)
- 8000efa: 6bd3 ldr r3, [r2, #60] @ 0x3c
- 8000efc: 4909 ldr r1, [pc, #36] @ (8000f24 <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x48>)
- 8000efe: 400b ands r3, r1
- 8000f00: 63d3 str r3, [r2, #60] @ 0x3c
- }
- 8000f02: e7f2 b.n 8000eea <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0xe>
- RCC->APBENR1 &= ~RCC_APBENR1_USART2EN;
- 8000f04: 4a05 ldr r2, [pc, #20] @ (8000f1c <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x40>)
- 8000f06: 6bd3 ldr r3, [r2, #60] @ 0x3c
- 8000f08: 4907 ldr r1, [pc, #28] @ (8000f28 <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x4c>)
- 8000f0a: 400b ands r3, r1
- 8000f0c: 63d3 str r3, [r2, #60] @ 0x3c
- 8000f0e: e7ec b.n 8000eea <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0xe>
- RCC->APBENR1 &= ~RCC_APBENR1_USART3EN;
- 8000f10: 4a02 ldr r2, [pc, #8] @ (8000f1c <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x40>)
- 8000f12: 6bd3 ldr r3, [r2, #60] @ 0x3c
- 8000f14: 4905 ldr r1, [pc, #20] @ (8000f2c <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0x50>)
- 8000f16: 400b ands r3, r1
- 8000f18: 63d3 str r3, [r2, #60] @ 0x3c
- 8000f1a: e7e6 b.n 8000eea <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)+0xe>
- 8000f1c: 40021000 .word 0x40021000
- 8000f20: ffffbfff .word 0xffffbfff
- 8000f24: fff7ffff .word 0xfff7ffff
- 8000f28: fffdffff .word 0xfffdffff
- 8000f2c: fffbffff .word 0xfffbffff
- 08000f30 <mcu::stm32g070::Uart::Uart(mcu::stm32g070::Uart::UartConfig const&)>:
- } // namespace
- namespace mcu::stm32g070 {
- Uart::Uart(UartConfig const &config) : config_{config}, tx_busy_{false} {
- 8000f30: 6001 str r1, [r0, #0]
- 8000f32: 2300 movs r3, #0
- 8000f34: 7103 strb r3, [r0, #4]
- Delegate() = default;
- 8000f36: 6083 str r3, [r0, #8]
- 8000f38: 60c3 str r3, [r0, #12]
- 8000f3a: 6103 str r3, [r0, #16]
- 8000f3c: 6143 str r3, [r0, #20]
- }
- 8000f3e: 4770 bx lr
- 08000f40 <mcu::stm32g070::Uart::Init()>:
- void Uart::Init() {
- 8000f40: b570 push {r4, r5, r6, lr}
- 8000f42: 0004 movs r4, r0
- auto *uart_ctrl = GetUartController(config_.uart_id);
- 8000f44: 6803 ldr r3, [r0, #0]
- 8000f46: 781e ldrb r6, [r3, #0]
- 8000f48: 0030 movs r0, r6
- 8000f4a: f7ff ff9b bl 8000e84 <(anonymous namespace)::GetUartController(mcu::stm32g070::Uart::UartId)>
- 8000f4e: 0005 movs r5, r0
- EnableUartClock(config_.uart_id);
- 8000f50: 0030 movs r0, r6
- 8000f52: f7ff ff9d bl 8000e90 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)>
- uart_ctrl->CR1 &= ~USART_CR1_UE;
- 8000f56: 682b ldr r3, [r5, #0]
- 8000f58: 2201 movs r2, #1
- 8000f5a: 4393 bics r3, r2
- 8000f5c: 602b str r3, [r5, #0]
- assert(config_.baud_rate == mcu::hal::uart::k115200);
- 8000f5e: 6823 ldr r3, [r4, #0]
- 8000f60: 685a ldr r2, [r3, #4]
- 8000f62: 23e1 movs r3, #225 @ 0xe1
- 8000f64: 025b lsls r3, r3, #9
- 8000f66: 429a cmp r2, r3
- 8000f68: d106 bne.n 8000f78 <mcu::stm32g070::Uart::Init()+0x38>
- uart_ctrl->BRR = 138; // For PCLK = 16 MHz
- 8000f6a: 238a movs r3, #138 @ 0x8a
- 8000f6c: 60eb str r3, [r5, #12]
- DisableUartClock(config_.uart_id);
- 8000f6e: 6823 ldr r3, [r4, #0]
- 8000f70: 7818 ldrb r0, [r3, #0]
- 8000f72: f7ff ffb3 bl 8000edc <(anonymous namespace)::DisableUartClock(mcu::stm32g070::Uart::UartId)>
- }
- 8000f76: bd70 pop {r4, r5, r6, pc}
- assert(config_.baud_rate == mcu::hal::uart::k115200);
- 8000f78: 4b02 ldr r3, [pc, #8] @ (8000f84 <mcu::stm32g070::Uart::Init()+0x44>)
- 8000f7a: 4a03 ldr r2, [pc, #12] @ (8000f88 <mcu::stm32g070::Uart::Init()+0x48>)
- 8000f7c: 4803 ldr r0, [pc, #12] @ (8000f8c <mcu::stm32g070::Uart::Init()+0x4c>)
- 8000f7e: 212d movs r1, #45 @ 0x2d
- 8000f80: f7ff fc6b bl 800085a <__assert_func>
- 8000f84: 08013f84 .word 0x08013f84
- 8000f88: 08013fb4 .word 0x08013fb4
- 8000f8c: 08013fd8 .word 0x08013fd8
- 08000f90 <mcu::stm32g070::Uart::Enable()>:
- void Uart::Enable() {
- 8000f90: b510 push {r4, lr}
- 8000f92: 0004 movs r4, r0
- EnableUartClock(config_.uart_id);
- 8000f94: 6803 ldr r3, [r0, #0]
- 8000f96: 7818 ldrb r0, [r3, #0]
- 8000f98: f7ff ff7a bl 8000e90 <(anonymous namespace)::EnableUartClock(mcu::stm32g070::Uart::UartId)>
- auto *uart_ctrl = GetUartController(config_.uart_id);
- 8000f9c: 6823 ldr r3, [r4, #0]
- 8000f9e: 7818 ldrb r0, [r3, #0]
- 8000fa0: f7ff ff70 bl 8000e84 <(anonymous namespace)::GetUartController(mcu::stm32g070::Uart::UartId)>
- uart_ctrl->CR1 |= USART_CR1_UE | USART_CR1_TE;
- 8000fa4: 6803 ldr r3, [r0, #0]
- 8000fa6: 2209 movs r2, #9
- 8000fa8: 4313 orrs r3, r2
- 8000faa: 6003 str r3, [r0, #0]
- }
- 8000fac: bd10 pop {r4, pc}
- 08000fae <mcu::stm32g070::Uart::Transmit(unsigned char const*, unsigned int)>:
- auto *uart_ctrl = GetUartController(config_.uart_id);
- uart_ctrl->CR1 &= ~(USART_CR1_UE | USART_CR1_TE);
- DisableUartClock(config_.uart_id);
- }
- void Uart::Transmit(const uint8_t *data, size_t len) {
- 8000fae: b570 push {r4, r5, r6, lr}
- 8000fb0: 000d movs r5, r1
- 8000fb2: 0014 movs r4, r2
- auto *uart_ctrl = GetUartController(config_.uart_id);
- 8000fb4: 6803 ldr r3, [r0, #0]
- 8000fb6: 7818 ldrb r0, [r3, #0]
- 8000fb8: f7ff ff64 bl 8000e84 <(anonymous namespace)::GetUartController(mcu::stm32g070::Uart::UartId)>
- while (len--) {
- 8000fbc: e006 b.n 8000fcc <mcu::stm32g070::Uart::Transmit(unsigned char const*, unsigned int)+0x1e>
- while ((uart_ctrl->ISR & USART_ISR_TXE_TXFNF) == 0);
- 8000fbe: 69c3 ldr r3, [r0, #28]
- 8000fc0: 061b lsls r3, r3, #24
- 8000fc2: d5fc bpl.n 8000fbe <mcu::stm32g070::Uart::Transmit(unsigned char const*, unsigned int)+0x10>
- uart_ctrl->TDR = *data++;
- 8000fc4: 782b ldrb r3, [r5, #0]
- 8000fc6: 6283 str r3, [r0, #40] @ 0x28
- while (len--) {
- 8000fc8: 0014 movs r4, r2
- uart_ctrl->TDR = *data++;
- 8000fca: 3501 adds r5, #1
- while (len--) {
- 8000fcc: 1e62 subs r2, r4, #1
- 8000fce: 2c00 cmp r4, #0
- 8000fd0: d1f5 bne.n 8000fbe <mcu::stm32g070::Uart::Transmit(unsigned char const*, unsigned int)+0x10>
- }
- }
- 8000fd2: bd70 pop {r4, r5, r6, pc}
- 08000fd4 <Reset_Handler>:
- .section .text.Reset_Handler
- .weak Reset_Handler
- .type Reset_Handler, %function
- Reset_Handler:
- ldr r0, =_estack
- 8000fd4: 480d ldr r0, [pc, #52] @ (800100c <LoopForever+0x2>)
- mov sp, r0 /* set stack pointer */
- 8000fd6: 4685 mov sp, r0
- /* Call the clock system initialization function.*/
- bl SystemInit
- 8000fd8: f000 f825 bl 8001026 <SystemInit>
- /* Copy the data segment initializers from flash to SRAM */
- ldr r0, =_sdata
- 8000fdc: 480c ldr r0, [pc, #48] @ (8001010 <LoopForever+0x6>)
- ldr r1, =_edata
- 8000fde: 490d ldr r1, [pc, #52] @ (8001014 <LoopForever+0xa>)
- ldr r2, =_sidata
- 8000fe0: 4a0d ldr r2, [pc, #52] @ (8001018 <LoopForever+0xe>)
- movs r3, #0
- 8000fe2: 2300 movs r3, #0
- b LoopCopyDataInit
- 8000fe4: e002 b.n 8000fec <LoopCopyDataInit>
- 08000fe6 <CopyDataInit>:
- CopyDataInit:
- ldr r4, [r2, r3]
- 8000fe6: 58d4 ldr r4, [r2, r3]
- str r4, [r0, r3]
- 8000fe8: 50c4 str r4, [r0, r3]
- adds r3, r3, #4
- 8000fea: 3304 adds r3, #4
- 08000fec <LoopCopyDataInit>:
- LoopCopyDataInit:
- adds r4, r0, r3
- 8000fec: 18c4 adds r4, r0, r3
- cmp r4, r1
- 8000fee: 428c cmp r4, r1
- bcc CopyDataInit
- 8000ff0: d3f9 bcc.n 8000fe6 <CopyDataInit>
- /* Zero fill the bss segment. */
- ldr r2, =_sbss
- 8000ff2: 4a0a ldr r2, [pc, #40] @ (800101c <LoopForever+0x12>)
- ldr r4, =_ebss
- 8000ff4: 4c0a ldr r4, [pc, #40] @ (8001020 <LoopForever+0x16>)
- movs r3, #0
- 8000ff6: 2300 movs r3, #0
- b LoopFillZerobss
- 8000ff8: e001 b.n 8000ffe <LoopFillZerobss>
- 08000ffa <FillZerobss>:
- FillZerobss:
- str r3, [r2]
- 8000ffa: 6013 str r3, [r2, #0]
- adds r2, r2, #4
- 8000ffc: 3204 adds r2, #4
- 08000ffe <LoopFillZerobss>:
- LoopFillZerobss:
- cmp r2, r4
- 8000ffe: 42a2 cmp r2, r4
- bcc FillZerobss
- 8001000: d3fb bcc.n 8000ffa <FillZerobss>
- /* Call static constructors */
- bl __libc_init_array
- 8001002: f00a f9b3 bl 800b36c <__libc_init_array>
- /* Call the application s entry point.*/
- bl main
- 8001006: f7ff fbc1 bl 800078c <main>
- 0800100a <LoopForever>:
- LoopForever:
- b LoopForever
- 800100a: e7fe b.n 800100a <LoopForever>
- ldr r0, =_estack
- 800100c: 20009000 .word 0x20009000
- ldr r0, =_sdata
- 8001010: 20000000 .word 0x20000000
- ldr r1, =_edata
- 8001014: 200006dc .word 0x200006dc
- ldr r2, =_sidata
- 8001018: 08016620 .word 0x08016620
- ldr r2, =_sbss
- 800101c: 200006dc .word 0x200006dc
- ldr r4, =_ebss
- 8001020: 20000b30 .word 0x20000b30
- 08001024 <ADC1_IRQHandler>:
- * @retval None
- */
- .section .text.Default_Handler,"ax",%progbits
- Default_Handler:
- Infinite_Loop:
- b Infinite_Loop
- 8001024: e7fe b.n 8001024 <ADC1_IRQHandler>
- 08001026 <SystemInit>:
- {
- /* Configure the Vector Table location -------------------------------------*/
- #if defined(USER_VECT_TAB_ADDRESS)
- SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation */
- #endif /* USER_VECT_TAB_ADDRESS */
- }
- 8001026: 4770 bx lr
- 08001028 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)>:
- 8001028: b530 push {r4, r5, lr}
- 800102a: b083 sub sp, #12
- 800102c: 2800 cmp r0, #0
- 800102e: d00f beq.n 8001050 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x28>
- 8001030: 2a00 cmp r2, #0
- 8001032: d015 beq.n 8001060 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x38>
- 8001034: 2b00 cmp r3, #0
- 8001036: d00d beq.n 8001054 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x2c>
- 8001038: 4d0a ldr r5, [pc, #40] @ (8001064 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x3c>)
- 800103a: 4c0b ldr r4, [pc, #44] @ (8001068 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x40>)
- 800103c: 682d ldr r5, [r5, #0]
- 800103e: 9301 str r3, [sp, #4]
- 8001040: 9200 str r2, [sp, #0]
- 8001042: 000b movs r3, r1
- 8001044: 0002 movs r2, r0
- 8001046: 0021 movs r1, r4
- 8001048: 68e8 ldr r0, [r5, #12]
- 800104a: f009 ff25 bl 800ae98 <fprintf>
- 800104e: e007 b.n 8001060 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x38>
- 8001050: 2a00 cmp r2, #0
- 8001052: d005 beq.n 8001060 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x38>
- 8001054: 4b03 ldr r3, [pc, #12] @ (8001064 <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x3c>)
- 8001056: 4905 ldr r1, [pc, #20] @ (800106c <std::__glibcxx_assert_fail(char const*, int, char const*, char const*)+0x44>)
- 8001058: 681b ldr r3, [r3, #0]
- 800105a: 68d8 ldr r0, [r3, #12]
- 800105c: f009 ff1c bl 800ae98 <fprintf>
- 8001060: f008 ffd6 bl 800a010 <abort>
- 8001064: 20000424 .word 0x20000424
- 8001068: 08014008 .word 0x08014008
- 800106c: 0801402c .word 0x0801402c
- 08001070 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)>:
- 8001070: b5f0 push {r4, r5, r6, r7, lr}
- 8001072: 46d6 mov lr, sl
- 8001074: 4646 mov r6, r8
- 8001076: 464f mov r7, r9
- 8001078: 468a mov sl, r1
- 800107a: b5c0 push {r6, r7, lr}
- 800107c: 0006 movs r6, r0
- 800107e: 2850 cmp r0, #80 @ 0x50
- 8001080: d024 beq.n 80010cc <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x5c>
- 8001082: 240f movs r4, #15
- 8001084: 4004 ands r4, r0
- 8001086: 2c0c cmp r4, #12
- 8001088: d900 bls.n 800108c <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x1c>
- 800108a: e06f b.n 800116c <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0xfc>
- 800108c: 4838 ldr r0, [pc, #224] @ (8001170 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x100>)
- 800108e: 00a4 lsls r4, r4, #2
- 8001090: 5900 ldr r0, [r0, r4]
- 8001092: 4687 mov pc, r0
- 8001094: 7854 ldrb r4, [r2, #1]
- 8001096: 7810 ldrb r0, [r2, #0]
- 8001098: 0224 lsls r4, r4, #8
- 800109a: 4304 orrs r4, r0
- 800109c: 7890 ldrb r0, [r2, #2]
- 800109e: 0400 lsls r0, r0, #16
- 80010a0: 4320 orrs r0, r4
- 80010a2: 78d4 ldrb r4, [r2, #3]
- 80010a4: 0624 lsls r4, r4, #24
- 80010a6: 4304 orrs r4, r0
- 80010a8: 1d10 adds r0, r2, #4
- 80010aa: 2c00 cmp r4, #0
- 80010ac: d008 beq.n 80010c0 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x50>
- 80010ae: 2570 movs r5, #112 @ 0x70
- 80010b0: 4035 ands r5, r6
- 80010b2: 2d10 cmp r5, #16
- 80010b4: d100 bne.n 80010b8 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x48>
- 80010b6: 4692 mov sl, r2
- 80010b8: b276 sxtb r6, r6
- 80010ba: 4454 add r4, sl
- 80010bc: 2e00 cmp r6, #0
- 80010be: db0a blt.n 80010d6 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x66>
- 80010c0: 601c str r4, [r3, #0]
- 80010c2: bce0 pop {r5, r6, r7}
- 80010c4: 46ba mov sl, r7
- 80010c6: 46b1 mov r9, r6
- 80010c8: 46a8 mov r8, r5
- 80010ca: bdf0 pop {r4, r5, r6, r7, pc}
- 80010cc: 1cd0 adds r0, r2, #3
- 80010ce: 2203 movs r2, #3
- 80010d0: 4390 bics r0, r2
- 80010d2: c810 ldmia r0!, {r4}
- 80010d4: e7f4 b.n 80010c0 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x50>
- 80010d6: 6824 ldr r4, [r4, #0]
- 80010d8: e7f2 b.n 80010c0 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x50>
- 80010da: 7854 ldrb r4, [r2, #1]
- 80010dc: 7810 ldrb r0, [r2, #0]
- 80010de: 0224 lsls r4, r4, #8
- 80010e0: 4304 orrs r4, r0
- 80010e2: 7890 ldrb r0, [r2, #2]
- 80010e4: 0400 lsls r0, r0, #16
- 80010e6: 4320 orrs r0, r4
- 80010e8: 78d4 ldrb r4, [r2, #3]
- 80010ea: 0624 lsls r4, r4, #24
- 80010ec: 4304 orrs r4, r0
- 80010ee: 0010 movs r0, r2
- 80010f0: 3008 adds r0, #8
- 80010f2: e7da b.n 80010aa <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3a>
- 80010f4: 7854 ldrb r4, [r2, #1]
- 80010f6: 7810 ldrb r0, [r2, #0]
- 80010f8: 0224 lsls r4, r4, #8
- 80010fa: 4304 orrs r4, r0
- 80010fc: 1c90 adds r0, r2, #2
- 80010fe: e7d4 b.n 80010aa <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3a>
- 8001100: 7854 ldrb r4, [r2, #1]
- 8001102: 7810 ldrb r0, [r2, #0]
- 8001104: 0224 lsls r4, r4, #8
- 8001106: 4304 orrs r4, r0
- 8001108: 0424 lsls r4, r4, #16
- 800110a: 1424 asrs r4, r4, #16
- 800110c: 1c90 adds r0, r2, #2
- 800110e: e7cc b.n 80010aa <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3a>
- 8001110: 217f movs r1, #127 @ 0x7f
- 8001112: 0015 movs r5, r2
- 8001114: 2400 movs r4, #0
- 8001116: 2700 movs r7, #0
- 8001118: 4688 mov r8, r1
- 800111a: 4640 mov r0, r8
- 800111c: 7829 ldrb r1, [r5, #0]
- 800111e: 3501 adds r5, #1
- 8001120: 4008 ands r0, r1
- 8001122: 40b8 lsls r0, r7
- 8001124: 4304 orrs r4, r0
- 8001126: b248 sxtb r0, r1
- 8001128: 3707 adds r7, #7
- 800112a: 2800 cmp r0, #0
- 800112c: dbf5 blt.n 800111a <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0xaa>
- 800112e: 0028 movs r0, r5
- 8001130: 2f1f cmp r7, #31
- 8001132: d8ba bhi.n 80010aa <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3a>
- 8001134: 064d lsls r5, r1, #25
- 8001136: d5b8 bpl.n 80010aa <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3a>
- 8001138: 2501 movs r5, #1
- 800113a: 40bd lsls r5, r7
- 800113c: 426d negs r5, r5
- 800113e: 432c orrs r4, r5
- 8001140: e7b5 b.n 80010ae <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3e>
- 8001142: 2100 movs r1, #0
- 8001144: 468c mov ip, r1
- 8001146: 317f adds r1, #127 @ 0x7f
- 8001148: 0015 movs r5, r2
- 800114a: 2400 movs r4, #0
- 800114c: 4688 mov r8, r1
- 800114e: 4647 mov r7, r8
- 8001150: 4661 mov r1, ip
- 8001152: 7828 ldrb r0, [r5, #0]
- 8001154: 3501 adds r5, #1
- 8001156: 4007 ands r7, r0
- 8001158: 408f lsls r7, r1
- 800115a: 2107 movs r1, #7
- 800115c: 4689 mov r9, r1
- 800115e: b240 sxtb r0, r0
- 8001160: 433c orrs r4, r7
- 8001162: 44cc add ip, r9
- 8001164: 2800 cmp r0, #0
- 8001166: dbf2 blt.n 800114e <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0xde>
- 8001168: 0028 movs r0, r5
- 800116a: e79e b.n 80010aa <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)+0x3a>
- 800116c: f008 ff50 bl 800a010 <abort>
- 8001170: 08014bd4 .word 0x08014bd4
- 08001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>:
- 8001174: 0003 movs r3, r0
- 8001176: b510 push {r4, lr}
- 8001178: 0008 movs r0, r1
- 800117a: 2bff cmp r3, #255 @ 0xff
- 800117c: d010 beq.n 80011a0 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x2c>
- 800117e: 2270 movs r2, #112 @ 0x70
- 8001180: 4013 ands r3, r2
- 8001182: 2b30 cmp r3, #48 @ 0x30
- 8001184: d013 beq.n 80011ae <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x3a>
- 8001186: d804 bhi.n 8001192 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x1e>
- 8001188: 2b20 cmp r3, #32
- 800118a: d107 bne.n 800119c <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x28>
- 800118c: f008 ff3d bl 800a00a <_Unwind_GetTextRelBase>
- 8001190: e007 b.n 80011a2 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x2e>
- 8001192: 2b40 cmp r3, #64 @ 0x40
- 8001194: d106 bne.n 80011a4 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x30>
- 8001196: f008 ff25 bl 8009fe4 <_Unwind_GetRegionStart>
- 800119a: e002 b.n 80011a2 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x2e>
- 800119c: 2b20 cmp r3, #32
- 800119e: d804 bhi.n 80011aa <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x36>
- 80011a0: 2000 movs r0, #0
- 80011a2: bd10 pop {r4, pc}
- 80011a4: 2000 movs r0, #0
- 80011a6: 2b50 cmp r3, #80 @ 0x50
- 80011a8: d0fb beq.n 80011a2 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x2e>
- 80011aa: f008 ff31 bl 800a010 <abort>
- 80011ae: f008 ff29 bl 800a004 <_Unwind_GetDataRelBase>
- 80011b2: e7f6 b.n 80011a2 <base_of_encoded_value(unsigned char, _Unwind_Context*)+0x2e>
- 080011b4 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)>:
- 80011b4: b5f8 push {r3, r4, r5, r6, r7, lr}
- 80011b6: 0005 movs r5, r0
- 80011b8: 000e movs r6, r1
- 80011ba: 0014 movs r4, r2
- 80011bc: 2000 movs r0, #0
- 80011be: 2d00 cmp r5, #0
- 80011c0: d002 beq.n 80011c8 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x14>
- 80011c2: 0028 movs r0, r5
- 80011c4: f008 ff0e bl 8009fe4 <_Unwind_GetRegionStart>
- 80011c8: 6020 str r0, [r4, #0]
- 80011ca: 1c77 adds r7, r6, #1
- 80011cc: 7836 ldrb r6, [r6, #0]
- 80011ce: 2eff cmp r6, #255 @ 0xff
- 80011d0: d128 bne.n 8001224 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x70>
- 80011d2: 6060 str r0, [r4, #4]
- 80011d4: 783b ldrb r3, [r7, #0]
- 80011d6: 1c78 adds r0, r7, #1
- 80011d8: 2bff cmp r3, #255 @ 0xff
- 80011da: d032 beq.n 8001242 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x8e>
- 80011dc: 2310 movs r3, #16
- 80011de: 2500 movs r5, #0
- 80011e0: 2100 movs r1, #0
- 80011e2: 267f movs r6, #127 @ 0x7f
- 80011e4: 7523 strb r3, [r4, #20]
- 80011e6: 0032 movs r2, r6
- 80011e8: 7803 ldrb r3, [r0, #0]
- 80011ea: 3001 adds r0, #1
- 80011ec: 401a ands r2, r3
- 80011ee: 408a lsls r2, r1
- 80011f0: b25b sxtb r3, r3
- 80011f2: 4315 orrs r5, r2
- 80011f4: 3107 adds r1, #7
- 80011f6: 2b00 cmp r3, #0
- 80011f8: dbf5 blt.n 80011e6 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x32>
- 80011fa: 1945 adds r5, r0, r5
- 80011fc: 60e5 str r5, [r4, #12]
- 80011fe: 2200 movs r2, #0
- 8001200: 2500 movs r5, #0
- 8001202: 267f movs r6, #127 @ 0x7f
- 8001204: 7803 ldrb r3, [r0, #0]
- 8001206: 3001 adds r0, #1
- 8001208: 7563 strb r3, [r4, #21]
- 800120a: 0031 movs r1, r6
- 800120c: 7803 ldrb r3, [r0, #0]
- 800120e: 3001 adds r0, #1
- 8001210: 4019 ands r1, r3
- 8001212: 4091 lsls r1, r2
- 8001214: b25b sxtb r3, r3
- 8001216: 430d orrs r5, r1
- 8001218: 3207 adds r2, #7
- 800121a: 2b00 cmp r3, #0
- 800121c: dbf5 blt.n 800120a <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x56>
- 800121e: 1945 adds r5, r0, r5
- 8001220: 6125 str r5, [r4, #16]
- 8001222: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 8001224: 0029 movs r1, r5
- 8001226: 0030 movs r0, r6
- 8001228: f7ff ffa4 bl 8001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>
- 800122c: 003a movs r2, r7
- 800122e: 0001 movs r1, r0
- 8001230: 1d23 adds r3, r4, #4
- 8001232: 0030 movs r0, r6
- 8001234: f7ff ff1c bl 8001070 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)>
- 8001238: 0007 movs r7, r0
- 800123a: 783b ldrb r3, [r7, #0]
- 800123c: 1c78 adds r0, r7, #1
- 800123e: 2bff cmp r3, #255 @ 0xff
- 8001240: d1cc bne.n 80011dc <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x28>
- 8001242: 2500 movs r5, #0
- 8001244: 7523 strb r3, [r4, #20]
- 8001246: e7d9 b.n 80011fc <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)+0x48>
- 08001248 <__gxx_personality_v0>:
- 8001248: b5f0 push {r4, r5, r6, r7, lr}
- 800124a: 4657 mov r7, sl
- 800124c: 4645 mov r5, r8
- 800124e: 46de mov lr, fp
- 8001250: 464e mov r6, r9
- 8001252: 2300 movs r3, #0
- 8001254: b5e0 push {r5, r6, r7, lr}
- 8001256: b097 sub sp, #92 @ 0x5c
- 8001258: 930c str r3, [sp, #48] @ 0x30
- 800125a: 3303 adds r3, #3
- 800125c: 000f movs r7, r1
- 800125e: 4690 mov r8, r2
- 8001260: 4003 ands r3, r0
- 8001262: 2b01 cmp r3, #1
- 8001264: d100 bne.n 8001268 <__gxx_personality_v0+0x20>
- 8001266: e0ae b.n 80013c6 <__gxx_personality_v0+0x17e>
- 8001268: 2b02 cmp r3, #2
- 800126a: d10e bne.n 800128a <__gxx_personality_v0+0x42>
- 800126c: 4641 mov r1, r8
- 800126e: 0038 movs r0, r7
- 8001270: f008 fea4 bl 8009fbc <__gnu_unwind_frame>
- 8001274: 2800 cmp r0, #0
- 8001276: d000 beq.n 800127a <__gxx_personality_v0+0x32>
- 8001278: e0a3 b.n 80013c2 <__gxx_personality_v0+0x17a>
- 800127a: 2008 movs r0, #8
- 800127c: b017 add sp, #92 @ 0x5c
- 800127e: bcf0 pop {r4, r5, r6, r7}
- 8001280: 46bb mov fp, r7
- 8001282: 46b2 mov sl, r6
- 8001284: 46a9 mov r9, r5
- 8001286: 46a0 mov r8, r4
- 8001288: bdf0 pop {r4, r5, r6, r7, pc}
- 800128a: 2b00 cmp r3, #0
- 800128c: d000 beq.n 8001290 <__gxx_personality_v0+0x48>
- 800128e: e235 b.n 80016fc <__gxx_personality_v0+0x4b4>
- 8001290: 3308 adds r3, #8
- 8001292: 001c movs r4, r3
- 8001294: 4004 ands r4, r0
- 8001296: 4203 tst r3, r0
- 8001298: d1e8 bne.n 800126c <__gxx_personality_v0+0x24>
- 800129a: 2501 movs r5, #1
- 800129c: ab10 add r3, sp, #64 @ 0x40
- 800129e: 9303 str r3, [sp, #12]
- 80012a0: 9b03 ldr r3, [sp, #12]
- 80012a2: 220c movs r2, #12
- 80012a4: 2100 movs r1, #0
- 80012a6: 9300 str r3, [sp, #0]
- 80012a8: 4640 mov r0, r8
- 80012aa: 2300 movs r3, #0
- 80012ac: 9710 str r7, [sp, #64] @ 0x40
- 80012ae: f008 f9a3 bl 80095f8 <_Unwind_VRS_Set>
- 80012b2: 4640 mov r0, r8
- 80012b4: f008 fe9c bl 8009ff0 <_Unwind_GetLanguageSpecificData>
- 80012b8: 9004 str r0, [sp, #16]
- 80012ba: 2800 cmp r0, #0
- 80012bc: d0d6 beq.n 800126c <__gxx_personality_v0+0x24>
- 80012be: 432c orrs r4, r5
- 80012c0: 9d03 ldr r5, [sp, #12]
- 80012c2: 9904 ldr r1, [sp, #16]
- 80012c4: 002a movs r2, r5
- 80012c6: 4640 mov r0, r8
- 80012c8: 9405 str r4, [sp, #20]
- 80012ca: f7ff ff73 bl 80011b4 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)>
- 80012ce: 7d2b ldrb r3, [r5, #20]
- 80012d0: 4641 mov r1, r8
- 80012d2: 0004 movs r4, r0
- 80012d4: 0018 movs r0, r3
- 80012d6: 9306 str r3, [sp, #24]
- 80012d8: f7ff ff4c bl 8001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>
- 80012dc: ab0f add r3, sp, #60 @ 0x3c
- 80012de: 60a8 str r0, [r5, #8]
- 80012e0: 220f movs r2, #15
- 80012e2: 9007 str r0, [sp, #28]
- 80012e4: 9300 str r3, [sp, #0]
- 80012e6: 469b mov fp, r3
- 80012e8: 2100 movs r1, #0
- 80012ea: 2300 movs r3, #0
- 80012ec: 4640 mov r0, r8
- 80012ee: f008 f955 bl 800959c <_Unwind_VRS_Get>
- 80012f2: 2201 movs r2, #1
- 80012f4: 9b0f ldr r3, [sp, #60] @ 0x3c
- 80012f6: 4393 bics r3, r2
- 80012f8: 3b01 subs r3, #1
- 80012fa: 4699 mov r9, r3
- 80012fc: 692b ldr r3, [r5, #16]
- 80012fe: 469a mov sl, r3
- 8001300: 429c cmp r4, r3
- 8001302: d242 bcs.n 800138a <__gxx_personality_v0+0x142>
- 8001304: 9b10 ldr r3, [sp, #64] @ 0x40
- 8001306: 7d6e ldrb r6, [r5, #21]
- 8001308: 9302 str r3, [sp, #8]
- 800130a: 003b movs r3, r7
- 800130c: 257f movs r5, #127 @ 0x7f
- 800130e: 0027 movs r7, r4
- 8001310: 464c mov r4, r9
- 8001312: 4699 mov r9, r3
- 8001314: 2100 movs r1, #0
- 8001316: 0030 movs r0, r6
- 8001318: f7ff ff2c bl 8001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>
- 800131c: 003a movs r2, r7
- 800131e: 0001 movs r1, r0
- 8001320: ab0d add r3, sp, #52 @ 0x34
- 8001322: 0030 movs r0, r6
- 8001324: f7ff fea4 bl 8001070 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)>
- 8001328: 2100 movs r1, #0
- 800132a: 0007 movs r7, r0
- 800132c: 0030 movs r0, r6
- 800132e: f7ff ff21 bl 8001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>
- 8001332: 003a movs r2, r7
- 8001334: 0001 movs r1, r0
- 8001336: ab0e add r3, sp, #56 @ 0x38
- 8001338: 0030 movs r0, r6
- 800133a: f7ff fe99 bl 8001070 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)>
- 800133e: 2100 movs r1, #0
- 8001340: 0007 movs r7, r0
- 8001342: 0030 movs r0, r6
- 8001344: f7ff ff16 bl 8001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>
- 8001348: 003a movs r2, r7
- 800134a: 0001 movs r1, r0
- 800134c: 465b mov r3, fp
- 800134e: 0030 movs r0, r6
- 8001350: f7ff fe8e bl 8001070 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)>
- 8001354: 2100 movs r1, #0
- 8001356: 2200 movs r2, #0
- 8001358: 002f movs r7, r5
- 800135a: 7803 ldrb r3, [r0, #0]
- 800135c: 3001 adds r0, #1
- 800135e: 401f ands r7, r3
- 8001360: 4097 lsls r7, r2
- 8001362: b25b sxtb r3, r3
- 8001364: 4339 orrs r1, r7
- 8001366: 3207 adds r2, #7
- 8001368: 2b00 cmp r3, #0
- 800136a: dbf5 blt.n 8001358 <__gxx_personality_v0+0x110>
- 800136c: 9a02 ldr r2, [sp, #8]
- 800136e: 9b0d ldr r3, [sp, #52] @ 0x34
- 8001370: 4694 mov ip, r2
- 8001372: 4463 add r3, ip
- 8001374: 42a3 cmp r3, r4
- 8001376: d807 bhi.n 8001388 <__gxx_personality_v0+0x140>
- 8001378: 9a0e ldr r2, [sp, #56] @ 0x38
- 800137a: 189b adds r3, r3, r2
- 800137c: 42a3 cmp r3, r4
- 800137e: d900 bls.n 8001382 <__gxx_personality_v0+0x13a>
- 8001380: e085 b.n 800148e <__gxx_personality_v0+0x246>
- 8001382: 0007 movs r7, r0
- 8001384: 4582 cmp sl, r0
- 8001386: d8c5 bhi.n 8001314 <__gxx_personality_v0+0xcc>
- 8001388: 464f mov r7, r9
- 800138a: 2300 movs r3, #0
- 800138c: 2500 movs r5, #0
- 800138e: 469a mov sl, r3
- 8001390: 3301 adds r3, #1
- 8001392: 9a05 ldr r2, [sp, #20]
- 8001394: 07d2 lsls r2, r2, #31
- 8001396: d571 bpl.n 800147c <__gxx_personality_v0+0x234>
- 8001398: 9b0c ldr r3, [sp, #48] @ 0x30
- 800139a: 930b str r3, [sp, #44] @ 0x2c
- 800139c: 465b mov r3, fp
- 800139e: 220d movs r2, #13
- 80013a0: 9300 str r3, [sp, #0]
- 80013a2: 2100 movs r1, #0
- 80013a4: 2300 movs r3, #0
- 80013a6: 4640 mov r0, r8
- 80013a8: f008 f8f8 bl 800959c <_Unwind_VRS_Get>
- 80013ac: 9b0f ldr r3, [sp, #60] @ 0x3c
- 80013ae: 2006 movs r0, #6
- 80013b0: 623b str r3, [r7, #32]
- 80013b2: 9b0b ldr r3, [sp, #44] @ 0x2c
- 80013b4: 633d str r5, [r7, #48] @ 0x30
- 80013b6: 627b str r3, [r7, #36] @ 0x24
- 80013b8: 4653 mov r3, sl
- 80013ba: 62bb str r3, [r7, #40] @ 0x28
- 80013bc: 9b04 ldr r3, [sp, #16]
- 80013be: 62fb str r3, [r7, #44] @ 0x2c
- 80013c0: e75c b.n 800127c <__gxx_personality_v0+0x34>
- 80013c2: 2009 movs r0, #9
- 80013c4: e75a b.n 800127c <__gxx_personality_v0+0x34>
- 80013c6: 2308 movs r3, #8
- 80013c8: 001c movs r4, r3
- 80013ca: aa10 add r2, sp, #64 @ 0x40
- 80013cc: 4004 ands r4, r0
- 80013ce: 9203 str r2, [sp, #12]
- 80013d0: 4203 tst r3, r0
- 80013d2: d001 beq.n 80013d8 <__gxx_personality_v0+0x190>
- 80013d4: 2502 movs r5, #2
- 80013d6: e763 b.n 80012a0 <__gxx_personality_v0+0x58>
- 80013d8: 6a0d ldr r5, [r1, #32]
- 80013da: 2300 movs r3, #0
- 80013dc: 9200 str r2, [sp, #0]
- 80013de: 2100 movs r1, #0
- 80013e0: 220d movs r2, #13
- 80013e2: 4640 mov r0, r8
- 80013e4: f008 f8da bl 800959c <_Unwind_VRS_Get>
- 80013e8: 9b10 ldr r3, [sp, #64] @ 0x40
- 80013ea: 429d cmp r5, r3
- 80013ec: d1f2 bne.n 80013d4 <__gxx_personality_v0+0x18c>
- 80013ee: 9b03 ldr r3, [sp, #12]
- 80013f0: 220c movs r2, #12
- 80013f2: 9300 str r3, [sp, #0]
- 80013f4: 2100 movs r1, #0
- 80013f6: 2300 movs r3, #0
- 80013f8: 4640 mov r0, r8
- 80013fa: 9710 str r7, [sp, #64] @ 0x40
- 80013fc: f008 f8fc bl 80095f8 <_Unwind_VRS_Set>
- 8001400: 6b3d ldr r5, [r7, #48] @ 0x30
- 8001402: 6abc ldr r4, [r7, #40] @ 0x28
- 8001404: 6afb ldr r3, [r7, #44] @ 0x2c
- 8001406: 2d00 cmp r5, #0
- 8001408: d03e beq.n 8001488 <__gxx_personality_v0+0x240>
- 800140a: 9304 str r3, [sp, #16]
- 800140c: ab0f add r3, sp, #60 @ 0x3c
- 800140e: 46a2 mov sl, r4
- 8001410: 469b mov fp, r3
- 8001412: 4653 mov r3, sl
- 8001414: 2b00 cmp r3, #0
- 8001416: da00 bge.n 800141a <__gxx_personality_v0+0x1d2>
- 8001418: e0b8 b.n 800158c <__gxx_personality_v0+0x344>
- 800141a: 2603 movs r6, #3
- 800141c: 465b mov r3, fp
- 800141e: 2200 movs r2, #0
- 8001420: 2100 movs r1, #0
- 8001422: 9300 str r3, [sp, #0]
- 8001424: 4640 mov r0, r8
- 8001426: 2300 movs r3, #0
- 8001428: 970f str r7, [sp, #60] @ 0x3c
- 800142a: f008 f8e5 bl 80095f8 <_Unwind_VRS_Set>
- 800142e: 465b mov r3, fp
- 8001430: 2201 movs r2, #1
- 8001432: 2100 movs r1, #0
- 8001434: 9300 str r3, [sp, #0]
- 8001436: 4640 mov r0, r8
- 8001438: 2300 movs r3, #0
- 800143a: 940f str r4, [sp, #60] @ 0x3c
- 800143c: f008 f8dc bl 80095f8 <_Unwind_VRS_Set>
- 8001440: 465b mov r3, fp
- 8001442: 220f movs r2, #15
- 8001444: 2100 movs r1, #0
- 8001446: 9300 str r3, [sp, #0]
- 8001448: 4640 mov r0, r8
- 800144a: 2300 movs r3, #0
- 800144c: f008 f8a6 bl 800959c <_Unwind_VRS_Get>
- 8001450: 2301 movs r3, #1
- 8001452: 9a0f ldr r2, [sp, #60] @ 0x3c
- 8001454: 2100 movs r1, #0
- 8001456: 4013 ands r3, r2
- 8001458: 432b orrs r3, r5
- 800145a: 930f str r3, [sp, #60] @ 0x3c
- 800145c: 465b mov r3, fp
- 800145e: 220f movs r2, #15
- 8001460: 9300 str r3, [sp, #0]
- 8001462: 4640 mov r0, r8
- 8001464: 2300 movs r3, #0
- 8001466: f008 f8c7 bl 80095f8 <_Unwind_VRS_Set>
- 800146a: 2e02 cmp r6, #2
- 800146c: d001 beq.n 8001472 <__gxx_personality_v0+0x22a>
- 800146e: 2007 movs r0, #7
- 8001470: e704 b.n 800127c <__gxx_personality_v0+0x34>
- 8001472: 0038 movs r0, r7
- 8001474: f007 fa46 bl 8008904 <__cxa_begin_cleanup>
- 8001478: 2007 movs r0, #7
- 800147a: e6ff b.n 800127c <__gxx_personality_v0+0x34>
- 800147c: 2208 movs r2, #8
- 800147e: 9905 ldr r1, [sp, #20]
- 8001480: 420a tst r2, r1
- 8001482: d16d bne.n 8001560 <__gxx_personality_v0+0x318>
- 8001484: 2b01 cmp r3, #1
- 8001486: d17f bne.n 8001588 <__gxx_personality_v0+0x340>
- 8001488: 0038 movs r0, r7
- 800148a: f007 fac1 bl 8008a10 <__cxa_call_terminate>
- 800148e: 9b0f ldr r3, [sp, #60] @ 0x3c
- 8001490: 464f mov r7, r9
- 8001492: 2b00 cmp r3, #0
- 8001494: d100 bne.n 8001498 <__gxx_personality_v0+0x250>
- 8001496: e6e9 b.n 800126c <__gxx_personality_v0+0x24>
- 8001498: 9a03 ldr r2, [sp, #12]
- 800149a: 6855 ldr r5, [r2, #4]
- 800149c: 195d adds r5, r3, r5
- 800149e: 2900 cmp r1, #0
- 80014a0: d100 bne.n 80014a4 <__gxx_personality_v0+0x25c>
- 80014a2: e10c b.n 80016be <__gxx_personality_v0+0x476>
- 80014a4: 1e4c subs r4, r1, #1
- 80014a6: 4454 add r4, sl
- 80014a8: 2d00 cmp r5, #0
- 80014aa: d100 bne.n 80014ae <__gxx_personality_v0+0x266>
- 80014ac: e6de b.n 800126c <__gxx_personality_v0+0x24>
- 80014ae: 9a05 ldr r2, [sp, #20]
- 80014b0: 2308 movs r3, #8
- 80014b2: 0011 movs r1, r2
- 80014b4: 4019 ands r1, r3
- 80014b6: 910a str r1, [sp, #40] @ 0x28
- 80014b8: 4213 tst r3, r2
- 80014ba: d100 bne.n 80014be <__gxx_personality_v0+0x276>
- 80014bc: e102 b.n 80016c4 <__gxx_personality_v0+0x47c>
- 80014be: 333f adds r3, #63 @ 0x3f
- 80014c0: 703b strb r3, [r7, #0]
- 80014c2: 3307 adds r3, #7
- 80014c4: 707b strb r3, [r7, #1]
- 80014c6: 3307 adds r3, #7
- 80014c8: 70bb strb r3, [r7, #2]
- 80014ca: 3b12 subs r3, #18
- 80014cc: 70fb strb r3, [r7, #3]
- 80014ce: 3303 adds r3, #3
- 80014d0: 713b strb r3, [r7, #4]
- 80014d2: 3309 adds r3, #9
- 80014d4: 717b strb r3, [r7, #5]
- 80014d6: 3303 adds r3, #3
- 80014d8: 71bb strb r3, [r7, #6]
- 80014da: 2300 movs r3, #0
- 80014dc: 71fb strb r3, [r7, #7]
- 80014de: 2300 movs r3, #0
- 80014e0: 9a06 ldr r2, [sp, #24]
- 80014e2: 4699 mov r9, r3
- 80014e4: 3307 adds r3, #7
- 80014e6: 401a ands r2, r3
- 80014e8: 4643 mov r3, r8
- 80014ea: 9309 str r3, [sp, #36] @ 0x24
- 80014ec: 9b03 ldr r3, [sp, #12]
- 80014ee: 46ba mov sl, r7
- 80014f0: 4698 mov r8, r3
- 80014f2: 9202 str r2, [sp, #8]
- 80014f4: 9508 str r5, [sp, #32]
- 80014f6: 2300 movs r3, #0
- 80014f8: 2100 movs r1, #0
- 80014fa: 257f movs r5, #127 @ 0x7f
- 80014fc: 002a movs r2, r5
- 80014fe: 7820 ldrb r0, [r4, #0]
- 8001500: 3401 adds r4, #1
- 8001502: 4002 ands r2, r0
- 8001504: 408a lsls r2, r1
- 8001506: 4313 orrs r3, r2
- 8001508: b242 sxtb r2, r0
- 800150a: 3107 adds r1, #7
- 800150c: 2a00 cmp r2, #0
- 800150e: dbf5 blt.n 80014fc <__gxx_personality_v0+0x2b4>
- 8001510: 291f cmp r1, #31
- 8001512: d805 bhi.n 8001520 <__gxx_personality_v0+0x2d8>
- 8001514: 0640 lsls r0, r0, #25
- 8001516: d503 bpl.n 8001520 <__gxx_personality_v0+0x2d8>
- 8001518: 2201 movs r2, #1
- 800151a: 408a lsls r2, r1
- 800151c: 4252 negs r2, r2
- 800151e: 4313 orrs r3, r2
- 8001520: 001e movs r6, r3
- 8001522: 0020 movs r0, r4
- 8001524: 2500 movs r5, #0
- 8001526: 2200 movs r2, #0
- 8001528: 277f movs r7, #127 @ 0x7f
- 800152a: 469c mov ip, r3
- 800152c: 0039 movs r1, r7
- 800152e: 7803 ldrb r3, [r0, #0]
- 8001530: 3001 adds r0, #1
- 8001532: 4019 ands r1, r3
- 8001534: 4091 lsls r1, r2
- 8001536: 430d orrs r5, r1
- 8001538: b259 sxtb r1, r3
- 800153a: 3207 adds r2, #7
- 800153c: 2900 cmp r1, #0
- 800153e: dbf5 blt.n 800152c <__gxx_personality_v0+0x2e4>
- 8001540: 0019 movs r1, r3
- 8001542: 4663 mov r3, ip
- 8001544: 2a1f cmp r2, #31
- 8001546: d83e bhi.n 80015c6 <__gxx_personality_v0+0x37e>
- 8001548: 0649 lsls r1, r1, #25
- 800154a: d53c bpl.n 80015c6 <__gxx_personality_v0+0x37e>
- 800154c: 2101 movs r1, #1
- 800154e: 4091 lsls r1, r2
- 8001550: 424a negs r2, r1
- 8001552: 4315 orrs r5, r2
- 8001554: 2b00 cmp r3, #0
- 8001556: d14b bne.n 80015f0 <__gxx_personality_v0+0x3a8>
- 8001558: 2301 movs r3, #1
- 800155a: 4699 mov r9, r3
- 800155c: 1964 adds r4, r4, r5
- 800155e: e7ca b.n 80014f6 <__gxx_personality_v0+0x2ae>
- 8001560: 2b01 cmp r3, #1
- 8001562: d100 bne.n 8001566 <__gxx_personality_v0+0x31e>
- 8001564: e0c8 b.n 80016f8 <__gxx_personality_v0+0x4b0>
- 8001566: 4653 mov r3, sl
- 8001568: 2b00 cmp r3, #0
- 800156a: da00 bge.n 800156e <__gxx_personality_v0+0x326>
- 800156c: e0c0 b.n 80016f0 <__gxx_personality_v0+0x4a8>
- 800156e: 4654 mov r4, sl
- 8001570: 2603 movs r6, #3
- 8001572: e753 b.n 800141c <__gxx_personality_v0+0x1d4>
- 8001574: 9b09 ldr r3, [sp, #36] @ 0x24
- 8001576: 46ab mov fp, r5
- 8001578: 4698 mov r8, r3
- 800157a: 9b05 ldr r3, [sp, #20]
- 800157c: 46b2 mov sl, r6
- 800157e: 0027 movs r7, r4
- 8001580: 9d08 ldr r5, [sp, #32]
- 8001582: 07db lsls r3, r3, #31
- 8001584: d500 bpl.n 8001588 <__gxx_personality_v0+0x340>
- 8001586: e707 b.n 8001398 <__gxx_personality_v0+0x150>
- 8001588: 4654 mov r4, sl
- 800158a: e742 b.n 8001412 <__gxx_personality_v0+0x1ca>
- 800158c: 9e03 ldr r6, [sp, #12]
- 800158e: 9904 ldr r1, [sp, #16]
- 8001590: 0032 movs r2, r6
- 8001592: 4640 mov r0, r8
- 8001594: f7ff fe0e bl 80011b4 <parse_lsda_header(_Unwind_Context*, unsigned char const*, lsda_header_info*)>
- 8001598: 4641 mov r1, r8
- 800159a: 7d30 ldrb r0, [r6, #20]
- 800159c: f7ff fdea bl 8001174 <base_of_encoded_value(unsigned char, _Unwind_Context*)>
- 80015a0: 43e3 mvns r3, r4
- 80015a2: 68f1 ldr r1, [r6, #12]
- 80015a4: 009b lsls r3, r3, #2
- 80015a6: 18c9 adds r1, r1, r3
- 80015a8: 680b ldr r3, [r1, #0]
- 80015aa: 2b00 cmp r3, #0
- 80015ac: d005 beq.n 80015ba <__gxx_personality_v0+0x372>
- 80015ae: 2300 movs r3, #0
- 80015b0: 3301 adds r3, #1
- 80015b2: 009a lsls r2, r3, #2
- 80015b4: 588a ldr r2, [r1, r2]
- 80015b6: 2a00 cmp r2, #0
- 80015b8: d1fa bne.n 80015b0 <__gxx_personality_v0+0x368>
- 80015ba: 62bb str r3, [r7, #40] @ 0x28
- 80015bc: 2304 movs r3, #4
- 80015be: 62f8 str r0, [r7, #44] @ 0x2c
- 80015c0: 633b str r3, [r7, #48] @ 0x30
- 80015c2: 6379 str r1, [r7, #52] @ 0x34
- 80015c4: e729 b.n 800141a <__gxx_personality_v0+0x1d2>
- 80015c6: 2b00 cmp r3, #0
- 80015c8: d112 bne.n 80015f0 <__gxx_personality_v0+0x3a8>
- 80015ca: 2301 movs r3, #1
- 80015cc: 4699 mov r9, r3
- 80015ce: 2d00 cmp r5, #0
- 80015d0: d1c4 bne.n 800155c <__gxx_personality_v0+0x314>
- 80015d2: 9b09 ldr r3, [sp, #36] @ 0x24
- 80015d4: 4657 mov r7, sl
- 80015d6: 4698 mov r8, r3
- 80015d8: 464b mov r3, r9
- 80015da: 9d08 ldr r5, [sp, #32]
- 80015dc: 2b00 cmp r3, #0
- 80015de: d100 bne.n 80015e2 <__gxx_personality_v0+0x39a>
- 80015e0: e644 b.n 800126c <__gxx_personality_v0+0x24>
- 80015e2: 9b05 ldr r3, [sp, #20]
- 80015e4: 07db lsls r3, r3, #31
- 80015e6: d500 bpl.n 80015ea <__gxx_personality_v0+0x3a2>
- 80015e8: e640 b.n 800126c <__gxx_personality_v0+0x24>
- 80015ea: 2400 movs r4, #0
- 80015ec: 2602 movs r6, #2
- 80015ee: e715 b.n 800141c <__gxx_personality_v0+0x1d4>
- 80015f0: 2b00 cmp r3, #0
- 80015f2: dc13 bgt.n 800161c <__gxx_personality_v0+0x3d4>
- 80015f4: 43db mvns r3, r3
- 80015f6: 4652 mov r2, sl
- 80015f8: 009b lsls r3, r3, #2
- 80015fa: 2a00 cmp r2, #0
- 80015fc: d002 beq.n 8001604 <__gxx_personality_v0+0x3bc>
- 80015fe: 9a0a ldr r2, [sp, #40] @ 0x28
- 8001600: 2a00 cmp r2, #0
- 8001602: d02f beq.n 8001664 <__gxx_personality_v0+0x41c>
- 8001604: 4642 mov r2, r8
- 8001606: 68d2 ldr r2, [r2, #12]
- 8001608: 58d3 ldr r3, [r2, r3]
- 800160a: 2b00 cmp r3, #0
- 800160c: d1df bne.n 80015ce <__gxx_personality_v0+0x386>
- 800160e: 9b09 ldr r3, [sp, #36] @ 0x24
- 8001610: 4657 mov r7, sl
- 8001612: 4698 mov r8, r3
- 8001614: 46b2 mov sl, r6
- 8001616: 2303 movs r3, #3
- 8001618: 9d08 ldr r5, [sp, #32]
- 800161a: e6ba b.n 8001392 <__gxx_personality_v0+0x14a>
- 800161c: 9a06 ldr r2, [sp, #24]
- 800161e: 2aff cmp r2, #255 @ 0xff
- 8001620: d04b beq.n 80016ba <__gxx_personality_v0+0x472>
- 8001622: 9a02 ldr r2, [sp, #8]
- 8001624: 2a02 cmp r2, #2
- 8001626: d045 beq.n 80016b4 <__gxx_personality_v0+0x46c>
- 8001628: d93f bls.n 80016aa <__gxx_personality_v0+0x462>
- 800162a: 9a02 ldr r2, [sp, #8]
- 800162c: 2a03 cmp r2, #3
- 800162e: d03e beq.n 80016ae <__gxx_personality_v0+0x466>
- 8001630: 2a04 cmp r2, #4
- 8001632: d163 bne.n 80016fc <__gxx_personality_v0+0x4b4>
- 8001634: 00db lsls r3, r3, #3
- 8001636: 425b negs r3, r3
- 8001638: 4642 mov r2, r8
- 800163a: 68d2 ldr r2, [r2, #12]
- 800163c: 9907 ldr r1, [sp, #28]
- 800163e: 18d2 adds r2, r2, r3
- 8001640: 9806 ldr r0, [sp, #24]
- 8001642: 465b mov r3, fp
- 8001644: f7ff fd14 bl 8001070 <read_encoded_value_with_base(unsigned char, unsigned int, unsigned char const*, unsigned int*)>
- 8001648: 990f ldr r1, [sp, #60] @ 0x3c
- 800164a: 2900 cmp r1, #0
- 800164c: d0df beq.n 800160e <__gxx_personality_v0+0x3c6>
- 800164e: 4653 mov r3, sl
- 8001650: 2b00 cmp r3, #0
- 8001652: d0bc beq.n 80015ce <__gxx_personality_v0+0x386>
- 8001654: 2200 movs r2, #0
- 8001656: 4650 mov r0, sl
- 8001658: ab0c add r3, sp, #48 @ 0x30
- 800165a: f007 f8f3 bl 8008844 <__cxa_type_match>
- 800165e: 2800 cmp r0, #0
- 8001660: d0b5 beq.n 80015ce <__gxx_personality_v0+0x386>
- 8001662: e7d4 b.n 800160e <__gxx_personality_v0+0x3c6>
- 8001664: 9f13 ldr r7, [sp, #76] @ 0x4c
- 8001666: 9a0c ldr r2, [sp, #48] @ 0x30
- 8001668: 18ff adds r7, r7, r3
- 800166a: 6839 ldr r1, [r7, #0]
- 800166c: 920b str r2, [sp, #44] @ 0x2c
- 800166e: 920f str r2, [sp, #60] @ 0x3c
- 8001670: 2900 cmp r1, #0
- 8001672: d032 beq.n 80016da <__gxx_personality_v0+0x492>
- 8001674: 4653 mov r3, sl
- 8001676: 465a mov r2, fp
- 8001678: 46a2 mov sl, r4
- 800167a: 46ab mov fp, r5
- 800167c: 001c movs r4, r3
- 800167e: 0015 movs r5, r2
- 8001680: e004 b.n 800168c <__gxx_personality_v0+0x444>
- 8001682: 6879 ldr r1, [r7, #4]
- 8001684: 3704 adds r7, #4
- 8001686: 2900 cmp r1, #0
- 8001688: d100 bne.n 800168c <__gxx_personality_v0+0x444>
- 800168a: e773 b.n 8001574 <__gxx_personality_v0+0x32c>
- 800168c: 002b movs r3, r5
- 800168e: 2200 movs r2, #0
- 8001690: 0020 movs r0, r4
- 8001692: 1879 adds r1, r7, r1
- 8001694: f007 f8d6 bl 8008844 <__cxa_type_match>
- 8001698: 2800 cmp r0, #0
- 800169a: d0f2 beq.n 8001682 <__gxx_personality_v0+0x43a>
- 800169c: 0022 movs r2, r4
- 800169e: 002b movs r3, r5
- 80016a0: 4654 mov r4, sl
- 80016a2: 465d mov r5, fp
- 80016a4: 4692 mov sl, r2
- 80016a6: 469b mov fp, r3
- 80016a8: e791 b.n 80015ce <__gxx_personality_v0+0x386>
- 80016aa: 2a00 cmp r2, #0
- 80016ac: d126 bne.n 80016fc <__gxx_personality_v0+0x4b4>
- 80016ae: 009b lsls r3, r3, #2
- 80016b0: 425b negs r3, r3
- 80016b2: e7c1 b.n 8001638 <__gxx_personality_v0+0x3f0>
- 80016b4: 005b lsls r3, r3, #1
- 80016b6: 425b negs r3, r3
- 80016b8: e7be b.n 8001638 <__gxx_personality_v0+0x3f0>
- 80016ba: 2300 movs r3, #0
- 80016bc: e7bc b.n 8001638 <__gxx_personality_v0+0x3f0>
- 80016be: 2d00 cmp r5, #0
- 80016c0: d18f bne.n 80015e2 <__gxx_personality_v0+0x39a>
- 80016c2: e5d3 b.n 800126c <__gxx_personality_v0+0x24>
- 80016c4: 003b movs r3, r7
- 80016c6: 79fa ldrb r2, [r7, #7]
- 80016c8: 3358 adds r3, #88 @ 0x58
- 80016ca: 2a01 cmp r2, #1
- 80016cc: d001 beq.n 80016d2 <__gxx_personality_v0+0x48a>
- 80016ce: 930c str r3, [sp, #48] @ 0x30
- 80016d0: e705 b.n 80014de <__gxx_personality_v0+0x296>
- 80016d2: 3b78 subs r3, #120 @ 0x78
- 80016d4: 681b ldr r3, [r3, #0]
- 80016d6: 930c str r3, [sp, #48] @ 0x30
- 80016d8: e701 b.n 80014de <__gxx_personality_v0+0x296>
- 80016da: 9b09 ldr r3, [sp, #36] @ 0x24
- 80016dc: 4657 mov r7, sl
- 80016de: 4698 mov r8, r3
- 80016e0: 9b05 ldr r3, [sp, #20]
- 80016e2: 46b2 mov sl, r6
- 80016e4: 9d08 ldr r5, [sp, #32]
- 80016e6: 07db lsls r3, r3, #31
- 80016e8: d500 bpl.n 80016ec <__gxx_personality_v0+0x4a4>
- 80016ea: e657 b.n 800139c <__gxx_personality_v0+0x154>
- 80016ec: 4654 mov r4, sl
- 80016ee: e690 b.n 8001412 <__gxx_personality_v0+0x1ca>
- 80016f0: f000 f81a bl 8001728 <std::unexpected()>
- 80016f4: f007 fa1a bl 8008b2c <__cxa_begin_catch>
- 80016f8: f000 f80a bl 8001710 <std::terminate()>
- 80016fc: f008 fc88 bl 800a010 <abort>
- 08001700 <__cxxabiv1::__terminate(void (*)())>:
- 8001700: b510 push {r4, lr}
- 8001702: 4780 blx r0
- 8001704: f008 fc84 bl 800a010 <abort>
- 8001708: f007 fa10 bl 8008b2c <__cxa_begin_catch>
- 800170c: f008 fc80 bl 800a010 <abort>
- 08001710 <std::terminate()>:
- 8001710: 4b02 ldr r3, [pc, #8] @ (800171c <std::terminate()+0xc>)
- 8001712: b510 push {r4, lr}
- 8001714: 6818 ldr r0, [r3, #0]
- 8001716: f7ff fff3 bl 8001700 <__cxxabiv1::__terminate(void (*)())>
- 800171a: 46c0 nop @ (mov r8, r8)
- 800171c: 20000004 .word 0x20000004
- 08001720 <__cxxabiv1::__unexpected(void (*)())>:
- 8001720: b510 push {r4, lr}
- 8001722: 4780 blx r0
- 8001724: f7ff fff4 bl 8001710 <std::terminate()>
- 08001728 <std::unexpected()>:
- 8001728: 4b02 ldr r3, [pc, #8] @ (8001734 <std::unexpected()+0xc>)
- 800172a: b510 push {r4, lr}
- 800172c: 6818 ldr r0, [r3, #0]
- 800172e: f7ff fff7 bl 8001720 <__cxxabiv1::__unexpected(void (*)())>
- 8001732: 46c0 nop @ (mov r8, r8)
- 8001734: 20000000 .word 0x20000000
- 08001738 <std::get_terminate()>:
- 8001738: 4b01 ldr r3, [pc, #4] @ (8001740 <std::get_terminate()+0x8>)
- 800173a: 6818 ldr r0, [r3, #0]
- 800173c: 4770 bx lr
- 800173e: 46c0 nop @ (mov r8, r8)
- 8001740: 20000004 .word 0x20000004
- 08001744 <std::get_unexpected()>:
- 8001744: 4b01 ldr r3, [pc, #4] @ (800174c <std::get_unexpected()+0x8>)
- 8001746: 6818 ldr r0, [r3, #0]
- 8001748: 4770 bx lr
- 800174a: 46c0 nop @ (mov r8, r8)
- 800174c: 20000000 .word 0x20000000
- 08001750 <__gnu_cxx::__verbose_terminate_handler()>:
- 8001750: b570 push {r4, r5, r6, lr}
- 8001752: 4b3d ldr r3, [pc, #244] @ (8001848 <__gnu_cxx::__verbose_terminate_handler()+0xf8>)
- 8001754: b082 sub sp, #8
- 8001756: 781a ldrb r2, [r3, #0]
- 8001758: 2a00 cmp r2, #0
- 800175a: d144 bne.n 80017e6 <__gnu_cxx::__verbose_terminate_handler()+0x96>
- 800175c: 2201 movs r2, #1
- 800175e: 701a strb r2, [r3, #0]
- 8001760: f007 fb0e bl 8008d80 <__cxa_current_exception_type>
- 8001764: 2800 cmp r0, #0
- 8001766: d034 beq.n 80017d2 <__gnu_cxx::__verbose_terminate_handler()+0x82>
- 8001768: 6844 ldr r4, [r0, #4]
- 800176a: 2100 movs r1, #0
- 800176c: 7823 ldrb r3, [r4, #0]
- 800176e: 3b2a subs r3, #42 @ 0x2a
- 8001770: 425a negs r2, r3
- 8001772: 4153 adcs r3, r2
- 8001774: 18e4 adds r4, r4, r3
- 8001776: 2301 movs r3, #1
- 8001778: 425b negs r3, r3
- 800177a: 2200 movs r2, #0
- 800177c: 9301 str r3, [sp, #4]
- 800177e: 0020 movs r0, r4
- 8001780: ab01 add r3, sp, #4
- 8001782: f006 fff1 bl 8008768 <__cxa_demangle>
- 8001786: 4d31 ldr r5, [pc, #196] @ (800184c <__gnu_cxx::__verbose_terminate_handler()+0xfc>)
- 8001788: 0006 movs r6, r0
- 800178a: 682b ldr r3, [r5, #0]
- 800178c: 2230 movs r2, #48 @ 0x30
- 800178e: 68db ldr r3, [r3, #12]
- 8001790: 2101 movs r1, #1
- 8001792: 482f ldr r0, [pc, #188] @ (8001850 <__gnu_cxx::__verbose_terminate_handler()+0x100>)
- 8001794: f009 f808 bl 800a7a8 <fwrite>
- 8001798: 9b01 ldr r3, [sp, #4]
- 800179a: 2b00 cmp r3, #0
- 800179c: d013 beq.n 80017c6 <__gnu_cxx::__verbose_terminate_handler()+0x76>
- 800179e: 682b ldr r3, [r5, #0]
- 80017a0: 0020 movs r0, r4
- 80017a2: 68d9 ldr r1, [r3, #12]
- 80017a4: f009 fbfe bl 800afa4 <fputs>
- 80017a8: 682b ldr r3, [r5, #0]
- 80017aa: 2202 movs r2, #2
- 80017ac: 68db ldr r3, [r3, #12]
- 80017ae: 2101 movs r1, #1
- 80017b0: 4828 ldr r0, [pc, #160] @ (8001854 <__gnu_cxx::__verbose_terminate_handler()+0x104>)
- 80017b2: f008 fff9 bl 800a7a8 <fwrite>
- 80017b6: 9b01 ldr r3, [sp, #4]
- 80017b8: 2b00 cmp r3, #0
- 80017ba: d102 bne.n 80017c2 <__gnu_cxx::__verbose_terminate_handler()+0x72>
- 80017bc: 0030 movs r0, r6
- 80017be: f008 fc8b bl 800a0d8 <free>
- 80017c2: f007 faa5 bl 8008d10 <__cxa_rethrow>
- 80017c6: 682b ldr r3, [r5, #0]
- 80017c8: 0030 movs r0, r6
- 80017ca: 68d9 ldr r1, [r3, #12]
- 80017cc: f009 fbea bl 800afa4 <fputs>
- 80017d0: e7ea b.n 80017a8 <__gnu_cxx::__verbose_terminate_handler()+0x58>
- 80017d2: 4b1e ldr r3, [pc, #120] @ (800184c <__gnu_cxx::__verbose_terminate_handler()+0xfc>)
- 80017d4: 222d movs r2, #45 @ 0x2d
- 80017d6: 681b ldr r3, [r3, #0]
- 80017d8: 2101 movs r1, #1
- 80017da: 481f ldr r0, [pc, #124] @ (8001858 <__gnu_cxx::__verbose_terminate_handler()+0x108>)
- 80017dc: 68db ldr r3, [r3, #12]
- 80017de: f008 ffe3 bl 800a7a8 <fwrite>
- 80017e2: f008 fc15 bl 800a010 <abort>
- 80017e6: 4b19 ldr r3, [pc, #100] @ (800184c <__gnu_cxx::__verbose_terminate_handler()+0xfc>)
- 80017e8: 221d movs r2, #29
- 80017ea: 681b ldr r3, [r3, #0]
- 80017ec: 2101 movs r1, #1
- 80017ee: 68db ldr r3, [r3, #12]
- 80017f0: 481a ldr r0, [pc, #104] @ (800185c <__gnu_cxx::__verbose_terminate_handler()+0x10c>)
- 80017f2: f008 ffd9 bl 800a7a8 <fwrite>
- 80017f6: f008 fc0b bl 800a010 <abort>
- 80017fa: 000c movs r4, r1
- 80017fc: 2901 cmp r1, #1
- 80017fe: d119 bne.n 8001834 <__gnu_cxx::__verbose_terminate_handler()+0xe4>
- 8001800: f007 f994 bl 8008b2c <__cxa_begin_catch>
- 8001804: 6803 ldr r3, [r0, #0]
- 8001806: 689b ldr r3, [r3, #8]
- 8001808: 4798 blx r3
- 800180a: 682b ldr r3, [r5, #0]
- 800180c: 0006 movs r6, r0
- 800180e: 220b movs r2, #11
- 8001810: 0021 movs r1, r4
- 8001812: 4813 ldr r0, [pc, #76] @ (8001860 <__gnu_cxx::__verbose_terminate_handler()+0x110>)
- 8001814: 68db ldr r3, [r3, #12]
- 8001816: f008 ffc7 bl 800a7a8 <fwrite>
- 800181a: 682b ldr r3, [r5, #0]
- 800181c: 0030 movs r0, r6
- 800181e: 68d9 ldr r1, [r3, #12]
- 8001820: f009 fbc0 bl 800afa4 <fputs>
- 8001824: 682b ldr r3, [r5, #0]
- 8001826: 200a movs r0, #10
- 8001828: 68d9 ldr r1, [r3, #12]
- 800182a: f009 fb47 bl 800aebc <fputc>
- 800182e: f007 f9b7 bl 8008ba0 <__cxa_end_catch>
- 8001832: e7d6 b.n 80017e2 <__gnu_cxx::__verbose_terminate_handler()+0x92>
- 8001834: f007 f97a bl 8008b2c <__cxa_begin_catch>
- 8001838: f007 f9b2 bl 8008ba0 <__cxa_end_catch>
- 800183c: e7d1 b.n 80017e2 <__gnu_cxx::__verbose_terminate_handler()+0x92>
- 800183e: f007 f9af bl 8008ba0 <__cxa_end_catch>
- 8001842: f006 fff9 bl 8008838 <__cxa_end_cleanup>
- 8001846: 46c0 nop @ (mov r8, r8)
- 8001848: 200007f4 .word 0x200007f4
- 800184c: 20000424 .word 0x20000424
- 8001850: 08014070 .word 0x08014070
- 8001854: 080140a4 .word 0x080140a4
- 8001858: 080140a8 .word 0x080140a8
- 800185c: 08014050 .word 0x08014050
- 8001860: 080140d8 .word 0x080140d8
- 08001864 <d_make_comp>:
- 8001864: b570 push {r4, r5, r6, lr}
- 8001866: 0005 movs r5, r0
- 8001868: 2931 cmp r1, #49 @ 0x31
- 800186a: d835 bhi.n 80018d8 <d_make_comp+0x74>
- 800186c: 2928 cmp r1, #40 @ 0x28
- 800186e: d908 bls.n 8001882 <d_make_comp+0x1e>
- 8001870: 0008 movs r0, r1
- 8001872: 3829 subs r0, #41 @ 0x29
- 8001874: b2c0 uxtb r0, r0
- 8001876: 2808 cmp r0, #8
- 8001878: d814 bhi.n 80018a4 <d_make_comp+0x40>
- 800187a: 4c2a ldr r4, [pc, #168] @ (8001924 <d_make_comp+0xc0>)
- 800187c: 0080 lsls r0, r0, #2
- 800187e: 5820 ldr r0, [r4, r0]
- 8001880: 4687 mov pc, r0
- 8001882: 290a cmp r1, #10
- 8001884: d910 bls.n 80018a8 <d_make_comp+0x44>
- 8001886: 000c movs r4, r1
- 8001888: 2001 movs r0, #1
- 800188a: 3c0b subs r4, #11
- 800188c: b2e4 uxtb r4, r4
- 800188e: 40a0 lsls r0, r4
- 8001890: 4c25 ldr r4, [pc, #148] @ (8001928 <d_make_comp+0xc4>)
- 8001892: 4220 tst r0, r4
- 8001894: d12c bne.n 80018f0 <d_make_comp+0x8c>
- 8001896: 24ff movs r4, #255 @ 0xff
- 8001898: 03a4 lsls r4, r4, #14
- 800189a: 4220 tst r0, r4
- 800189c: d10a bne.n 80018b4 <d_make_comp+0x50>
- 800189e: 4c23 ldr r4, [pc, #140] @ (800192c <d_make_comp+0xc8>)
- 80018a0: 4220 tst r0, r4
- 80018a2: d103 bne.n 80018ac <d_make_comp+0x48>
- 80018a4: 2000 movs r0, #0
- 80018a6: e016 b.n 80018d6 <d_make_comp+0x72>
- 80018a8: 2904 cmp r1, #4
- 80018aa: d835 bhi.n 8001918 <d_make_comp+0xb4>
- 80018ac: 2a00 cmp r2, #0
- 80018ae: d0f9 beq.n 80018a4 <d_make_comp+0x40>
- 80018b0: 2b00 cmp r3, #0
- 80018b2: d0f7 beq.n 80018a4 <d_make_comp+0x40>
- 80018b4: 696e ldr r6, [r5, #20]
- 80018b6: 69a8 ldr r0, [r5, #24]
- 80018b8: 4286 cmp r6, r0
- 80018ba: daf3 bge.n 80018a4 <d_make_comp+0x40>
- 80018bc: 00b0 lsls r0, r6, #2
- 80018be: 692c ldr r4, [r5, #16]
- 80018c0: 1980 adds r0, r0, r6
- 80018c2: 0080 lsls r0, r0, #2
- 80018c4: 1820 adds r0, r4, r0
- 80018c6: 2400 movs r4, #0
- 80018c8: 3601 adds r6, #1
- 80018ca: 6044 str r4, [r0, #4]
- 80018cc: 6084 str r4, [r0, #8]
- 80018ce: 616e str r6, [r5, #20]
- 80018d0: 7001 strb r1, [r0, #0]
- 80018d2: 60c2 str r2, [r0, #12]
- 80018d4: 6103 str r3, [r0, #16]
- 80018d6: bd70 pop {r4, r5, r6, pc}
- 80018d8: 294f cmp r1, #79 @ 0x4f
- 80018da: d80d bhi.n 80018f8 <d_make_comp+0x94>
- 80018dc: 2933 cmp r1, #51 @ 0x33
- 80018de: d9e1 bls.n 80018a4 <d_make_comp+0x40>
- 80018e0: 000c movs r4, r1
- 80018e2: 2001 movs r0, #1
- 80018e4: 3c34 subs r4, #52 @ 0x34
- 80018e6: b2e4 uxtb r4, r4
- 80018e8: 40a0 lsls r0, r4
- 80018ea: 4c11 ldr r4, [pc, #68] @ (8001930 <d_make_comp+0xcc>)
- 80018ec: 4220 tst r0, r4
- 80018ee: d00c beq.n 800190a <d_make_comp+0xa6>
- 80018f0: 2a00 cmp r2, #0
- 80018f2: d1df bne.n 80018b4 <d_make_comp+0x50>
- 80018f4: 2000 movs r0, #0
- 80018f6: e7ee b.n 80018d6 <d_make_comp+0x72>
- 80018f8: 0008 movs r0, r1
- 80018fa: 3852 subs r0, #82 @ 0x52
- 80018fc: b2c0 uxtb r0, r0
- 80018fe: 2809 cmp r0, #9
- 8001900: d8d8 bhi.n 80018b4 <d_make_comp+0x50>
- 8001902: 4c0c ldr r4, [pc, #48] @ (8001934 <d_make_comp+0xd0>)
- 8001904: 0080 lsls r0, r0, #2
- 8001906: 5820 ldr r0, [r4, r0]
- 8001908: 4687 mov pc, r0
- 800190a: 4c0b ldr r4, [pc, #44] @ (8001938 <d_make_comp+0xd4>)
- 800190c: 4220 tst r0, r4
- 800190e: d1cd bne.n 80018ac <d_make_comp+0x48>
- 8001910: 294e cmp r1, #78 @ 0x4e
- 8001912: d0cf beq.n 80018b4 <d_make_comp+0x50>
- 8001914: 2000 movs r0, #0
- 8001916: e7de b.n 80018d6 <d_make_comp+0x72>
- 8001918: 000c movs r4, r1
- 800191a: 3c09 subs r4, #9
- 800191c: 2000 movs r0, #0
- 800191e: 2c01 cmp r4, #1
- 8001920: d8d9 bhi.n 80018d6 <d_make_comp+0x72>
- 8001922: e7e5 b.n 80018f0 <d_make_comp+0x8c>
- 8001924: 08014c08 .word 0x08014c08
- 8001928: 2f801ffe .word 0x2f801ffe
- 800192c: 00400001 .word 0x00400001
- 8001930: 01c71107 .word 0x01c71107
- 8001934: 08014c2c .word 0x08014c2c
- 8001938: 0a002ef8 .word 0x0a002ef8
- 0800193c <d_number>:
- 800193c: b5f8 push {r3, r4, r5, r6, r7, lr}
- 800193e: 46ce mov lr, r9
- 8001940: 4647 mov r7, r8
- 8001942: b580 push {r7, lr}
- 8001944: 68c5 ldr r5, [r0, #12]
- 8001946: 0006 movs r6, r0
- 8001948: 782c ldrb r4, [r5, #0]
- 800194a: 2c6e cmp r4, #110 @ 0x6e
- 800194c: d027 beq.n 800199e <d_number+0x62>
- 800194e: 3c30 subs r4, #48 @ 0x30
- 8001950: b2e3 uxtb r3, r4
- 8001952: 2b09 cmp r3, #9
- 8001954: d82e bhi.n 80019b4 <d_number+0x78>
- 8001956: 2300 movs r3, #0
- 8001958: 4698 mov r8, r3
- 800195a: 4b17 ldr r3, [pc, #92] @ (80019b8 <d_number+0x7c>)
- 800195c: 2700 movs r7, #0
- 800195e: 4699 mov r9, r3
- 8001960: 3501 adds r5, #1
- 8001962: e007 b.n 8001974 <d_number+0x38>
- 8001964: 464b mov r3, r9
- 8001966: 210a movs r1, #10
- 8001968: 1b18 subs r0, r3, r4
- 800196a: 3501 adds r5, #1
- 800196c: f7fe fc50 bl 8000210 <__divsi3>
- 8001970: 42b8 cmp r0, r7
- 8001972: db12 blt.n 800199a <d_number+0x5e>
- 8001974: 00bb lsls r3, r7, #2
- 8001976: 19db adds r3, r3, r7
- 8001978: 005b lsls r3, r3, #1
- 800197a: 60f5 str r5, [r6, #12]
- 800197c: 191f adds r7, r3, r4
- 800197e: 782c ldrb r4, [r5, #0]
- 8001980: 3c30 subs r4, #48 @ 0x30
- 8001982: b2e3 uxtb r3, r4
- 8001984: 2b09 cmp r3, #9
- 8001986: d9ed bls.n 8001964 <d_number+0x28>
- 8001988: 4643 mov r3, r8
- 800198a: 2b00 cmp r3, #0
- 800198c: d000 beq.n 8001990 <d_number+0x54>
- 800198e: 427f negs r7, r7
- 8001990: 0038 movs r0, r7
- 8001992: bcc0 pop {r6, r7}
- 8001994: 46b9 mov r9, r7
- 8001996: 46b0 mov r8, r6
- 8001998: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 800199a: 2701 movs r7, #1
- 800199c: e7f7 b.n 800198e <d_number+0x52>
- 800199e: 1c6b adds r3, r5, #1
- 80019a0: 60c3 str r3, [r0, #12]
- 80019a2: 786c ldrb r4, [r5, #1]
- 80019a4: 3c30 subs r4, #48 @ 0x30
- 80019a6: b2e2 uxtb r2, r4
- 80019a8: 2a09 cmp r2, #9
- 80019aa: d803 bhi.n 80019b4 <d_number+0x78>
- 80019ac: 001d movs r5, r3
- 80019ae: 2301 movs r3, #1
- 80019b0: 4698 mov r8, r3
- 80019b2: e7d2 b.n 800195a <d_number+0x1e>
- 80019b4: 2700 movs r7, #0
- 80019b6: e7eb b.n 8001990 <d_number+0x54>
- 80019b8: 7fffffff .word 0x7fffffff
- 080019bc <d_call_offset>:
- 80019bc: b510 push {r4, lr}
- 80019be: 0004 movs r4, r0
- 80019c0: 2900 cmp r1, #0
- 80019c2: d108 bne.n 80019d6 <d_call_offset+0x1a>
- 80019c4: 68c3 ldr r3, [r0, #12]
- 80019c6: 781a ldrb r2, [r3, #0]
- 80019c8: 2a00 cmp r2, #0
- 80019ca: d101 bne.n 80019d0 <d_call_offset+0x14>
- 80019cc: 2000 movs r0, #0
- 80019ce: bd10 pop {r4, pc}
- 80019d0: 1c5a adds r2, r3, #1
- 80019d2: 60c2 str r2, [r0, #12]
- 80019d4: 7819 ldrb r1, [r3, #0]
- 80019d6: 2968 cmp r1, #104 @ 0x68
- 80019d8: d00a beq.n 80019f0 <d_call_offset+0x34>
- 80019da: 2976 cmp r1, #118 @ 0x76
- 80019dc: d1f6 bne.n 80019cc <d_call_offset+0x10>
- 80019de: 0020 movs r0, r4
- 80019e0: f7ff ffac bl 800193c <d_number>
- 80019e4: 68e3 ldr r3, [r4, #12]
- 80019e6: 781a ldrb r2, [r3, #0]
- 80019e8: 2a5f cmp r2, #95 @ 0x5f
- 80019ea: d1ef bne.n 80019cc <d_call_offset+0x10>
- 80019ec: 3301 adds r3, #1
- 80019ee: 60e3 str r3, [r4, #12]
- 80019f0: 0020 movs r0, r4
- 80019f2: f7ff ffa3 bl 800193c <d_number>
- 80019f6: 68e3 ldr r3, [r4, #12]
- 80019f8: 781a ldrb r2, [r3, #0]
- 80019fa: 2a5f cmp r2, #95 @ 0x5f
- 80019fc: d1e6 bne.n 80019cc <d_call_offset+0x10>
- 80019fe: 3301 adds r3, #1
- 8001a00: 2001 movs r0, #1
- 8001a02: 60e3 str r3, [r4, #12]
- 8001a04: e7e3 b.n 80019ce <d_call_offset+0x12>
- 8001a06: 46c0 nop @ (mov r8, r8)
- 08001a08 <d_discriminator>:
- 8001a08: b510 push {r4, lr}
- 8001a0a: 68c3 ldr r3, [r0, #12]
- 8001a0c: 0004 movs r4, r0
- 8001a0e: 781a ldrb r2, [r3, #0]
- 8001a10: 2a5f cmp r2, #95 @ 0x5f
- 8001a12: d001 beq.n 8001a18 <d_discriminator+0x10>
- 8001a14: 2001 movs r0, #1
- 8001a16: e008 b.n 8001a2a <d_discriminator+0x22>
- 8001a18: 1c5a adds r2, r3, #1
- 8001a1a: 60c2 str r2, [r0, #12]
- 8001a1c: 785a ldrb r2, [r3, #1]
- 8001a1e: 2a5f cmp r2, #95 @ 0x5f
- 8001a20: d004 beq.n 8001a2c <d_discriminator+0x24>
- 8001a22: f7ff ff8b bl 800193c <d_number>
- 8001a26: 43c0 mvns r0, r0
- 8001a28: 0fc0 lsrs r0, r0, #31
- 8001a2a: bd10 pop {r4, pc}
- 8001a2c: 3302 adds r3, #2
- 8001a2e: 60c3 str r3, [r0, #12]
- 8001a30: f7ff ff84 bl 800193c <d_number>
- 8001a34: 2800 cmp r0, #0
- 8001a36: db0a blt.n 8001a4e <d_discriminator+0x46>
- 8001a38: 2809 cmp r0, #9
- 8001a3a: ddeb ble.n 8001a14 <d_discriminator+0xc>
- 8001a3c: 68e3 ldr r3, [r4, #12]
- 8001a3e: 2000 movs r0, #0
- 8001a40: 781a ldrb r2, [r3, #0]
- 8001a42: 2a5f cmp r2, #95 @ 0x5f
- 8001a44: d1f1 bne.n 8001a2a <d_discriminator+0x22>
- 8001a46: 3301 adds r3, #1
- 8001a48: 2001 movs r0, #1
- 8001a4a: 60e3 str r3, [r4, #12]
- 8001a4c: e7ed b.n 8001a2a <d_discriminator+0x22>
- 8001a4e: 2000 movs r0, #0
- 8001a50: e7eb b.n 8001a2a <d_discriminator+0x22>
- 8001a52: 46c0 nop @ (mov r8, r8)
- 08001a54 <d_count_templates_scopes>:
- 8001a54: b5f8 push {r3, r4, r5, r6, r7, lr}
- 8001a56: 0005 movs r5, r0
- 8001a58: 1e0c subs r4, r1, #0
- 8001a5a: d026 beq.n 8001aaa <d_count_templates_scopes+0x56>
- 8001a5c: 268e movs r6, #142 @ 0x8e
- 8001a5e: 2080 movs r0, #128 @ 0x80
- 8001a60: 0076 lsls r6, r6, #1
- 8001a62: 00c0 lsls r0, r0, #3
- 8001a64: 68a3 ldr r3, [r4, #8]
- 8001a66: 2b01 cmp r3, #1
- 8001a68: dc1f bgt.n 8001aaa <d_count_templates_scopes+0x56>
- 8001a6a: 59aa ldr r2, [r5, r6]
- 8001a6c: 4282 cmp r2, r0
- 8001a6e: dc1c bgt.n 8001aaa <d_count_templates_scopes+0x56>
- 8001a70: 3301 adds r3, #1
- 8001a72: 60a3 str r3, [r4, #8]
- 8001a74: 7823 ldrb r3, [r4, #0]
- 8001a76: 2b41 cmp r3, #65 @ 0x41
- 8001a78: d818 bhi.n 8001aac <d_count_templates_scopes+0x58>
- 8001a7a: 2b22 cmp r3, #34 @ 0x22
- 8001a7c: d806 bhi.n 8001a8c <d_count_templates_scopes+0x38>
- 8001a7e: 1e59 subs r1, r3, #1
- 8001a80: 2921 cmp r1, #33 @ 0x21
- 8001a82: d812 bhi.n 8001aaa <d_count_templates_scopes+0x56>
- 8001a84: 491e ldr r1, [pc, #120] @ (8001b00 <d_count_templates_scopes+0xac>)
- 8001a86: 009b lsls r3, r3, #2
- 8001a88: 58cb ldr r3, [r1, r3]
- 8001a8a: 469f mov pc, r3
- 8001a8c: 001f movs r7, r3
- 8001a8e: 2101 movs r1, #1
- 8001a90: 3f23 subs r7, #35 @ 0x23
- 8001a92: b2ff uxtb r7, r7
- 8001a94: 40b9 lsls r1, r7
- 8001a96: 4f1b ldr r7, [pc, #108] @ (8001b04 <d_count_templates_scopes+0xb0>)
- 8001a98: 4239 tst r1, r7
- 8001a9a: d114 bne.n 8001ac6 <d_count_templates_scopes+0x72>
- 8001a9c: 0789 lsls r1, r1, #30
- 8001a9e: d124 bne.n 8001aea <d_count_templates_scopes+0x96>
- 8001aa0: 2b33 cmp r3, #51 @ 0x33
- 8001aa2: d102 bne.n 8001aaa <d_count_templates_scopes+0x56>
- 8001aa4: 6924 ldr r4, [r4, #16]
- 8001aa6: 2c00 cmp r4, #0
- 8001aa8: d1dc bne.n 8001a64 <d_count_templates_scopes+0x10>
- 8001aaa: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 8001aac: 3b44 subs r3, #68 @ 0x44
- 8001aae: b2db uxtb r3, r3
- 8001ab0: 2b11 cmp r3, #17
- 8001ab2: d8fa bhi.n 8001aaa <d_count_templates_scopes+0x56>
- 8001ab4: 4914 ldr r1, [pc, #80] @ (8001b08 <d_count_templates_scopes+0xb4>)
- 8001ab6: 009b lsls r3, r3, #2
- 8001ab8: 58cb ldr r3, [r1, r3]
- 8001aba: 469f mov pc, r3
- 8001abc: 21a2 movs r1, #162 @ 0xa2
- 8001abe: 0049 lsls r1, r1, #1
- 8001ac0: 586b ldr r3, [r5, r1]
- 8001ac2: 3301 adds r3, #1
- 8001ac4: 506b str r3, [r5, r1]
- 8001ac6: 68e1 ldr r1, [r4, #12]
- 8001ac8: 268e movs r6, #142 @ 0x8e
- 8001aca: 3201 adds r2, #1
- 8001acc: 0076 lsls r6, r6, #1
- 8001ace: 0028 movs r0, r5
- 8001ad0: 51aa str r2, [r5, r6]
- 8001ad2: f7ff ffbf bl 8001a54 <d_count_templates_scopes>
- 8001ad6: 0028 movs r0, r5
- 8001ad8: 6921 ldr r1, [r4, #16]
- 8001ada: f7ff ffbb bl 8001a54 <d_count_templates_scopes>
- 8001ade: 59ab ldr r3, [r5, r6]
- 8001ae0: 3b01 subs r3, #1
- 8001ae2: 51ab str r3, [r5, r6]
- 8001ae4: e7e1 b.n 8001aaa <d_count_templates_scopes+0x56>
- 8001ae6: 68e4 ldr r4, [r4, #12]
- 8001ae8: e7dd b.n 8001aa6 <d_count_templates_scopes+0x52>
- 8001aea: 68e1 ldr r1, [r4, #12]
- 8001aec: 780b ldrb r3, [r1, #0]
- 8001aee: 2b05 cmp r3, #5
- 8001af0: d1ea bne.n 8001ac8 <d_count_templates_scopes+0x74>
- 8001af2: 209c movs r0, #156 @ 0x9c
- 8001af4: 0040 lsls r0, r0, #1
- 8001af6: 582b ldr r3, [r5, r0]
- 8001af8: 3301 adds r3, #1
- 8001afa: 502b str r3, [r5, r0]
- 8001afc: e7e4 b.n 8001ac8 <d_count_templates_scopes+0x74>
- 8001afe: 46c0 nop @ (mov r8, r8)
- 8001b00: 08014c54 .word 0x08014c54
- 8001b04: 7ffe7dec .word 0x7ffe7dec
- 8001b08: 08014ce0 .word 0x08014ce0
- 08001b0c <d_index_template_argument.part.0>:
- 8001b0c: 2800 cmp r0, #0
- 8001b0e: d106 bne.n 8001b1e <d_index_template_argument.part.0+0x12>
- 8001b10: e008 b.n 8001b24 <d_index_template_argument.part.0+0x18>
- 8001b12: 2900 cmp r1, #0
- 8001b14: d008 beq.n 8001b28 <d_index_template_argument.part.0+0x1c>
- 8001b16: 6900 ldr r0, [r0, #16]
- 8001b18: 3901 subs r1, #1
- 8001b1a: 2800 cmp r0, #0
- 8001b1c: d003 beq.n 8001b26 <d_index_template_argument.part.0+0x1a>
- 8001b1e: 7803 ldrb r3, [r0, #0]
- 8001b20: 2b2f cmp r3, #47 @ 0x2f
- 8001b22: d0f6 beq.n 8001b12 <d_index_template_argument.part.0+0x6>
- 8001b24: 2000 movs r0, #0
- 8001b26: 4770 bx lr
- 8001b28: 68c0 ldr r0, [r0, #12]
- 8001b2a: e7fc b.n 8001b26 <d_index_template_argument.part.0+0x1a>
- 08001b2c <d_growable_string_callback_adapter>:
- 8001b2c: b5f0 push {r4, r5, r6, r7, lr}
- 8001b2e: 0014 movs r4, r2
- 8001b30: 46c6 mov lr, r8
- 8001b32: 6852 ldr r2, [r2, #4]
- 8001b34: 1c4b adds r3, r1, #1
- 8001b36: 68a5 ldr r5, [r4, #8]
- 8001b38: 189b adds r3, r3, r2
- 8001b3a: 4680 mov r8, r0
- 8001b3c: 000e movs r6, r1
- 8001b3e: b500 push {lr}
- 8001b40: 68e7 ldr r7, [r4, #12]
- 8001b42: 42ab cmp r3, r5
- 8001b44: d812 bhi.n 8001b6c <d_growable_string_callback_adapter+0x40>
- 8001b46: 2f00 cmp r7, #0
- 8001b48: d10d bne.n 8001b66 <d_growable_string_callback_adapter+0x3a>
- 8001b4a: 6863 ldr r3, [r4, #4]
- 8001b4c: 6820 ldr r0, [r4, #0]
- 8001b4e: 0032 movs r2, r6
- 8001b50: 18c0 adds r0, r0, r3
- 8001b52: 4641 mov r1, r8
- 8001b54: f009 fc36 bl 800b3c4 <memcpy>
- 8001b58: 6823 ldr r3, [r4, #0]
- 8001b5a: 6862 ldr r2, [r4, #4]
- 8001b5c: 199b adds r3, r3, r6
- 8001b5e: 549f strb r7, [r3, r2]
- 8001b60: 6863 ldr r3, [r4, #4]
- 8001b62: 199b adds r3, r3, r6
- 8001b64: 6063 str r3, [r4, #4]
- 8001b66: bc80 pop {r7}
- 8001b68: 46b8 mov r8, r7
- 8001b6a: bdf0 pop {r4, r5, r6, r7, pc}
- 8001b6c: 2f00 cmp r7, #0
- 8001b6e: d1fa bne.n 8001b66 <d_growable_string_callback_adapter+0x3a>
- 8001b70: 2d00 cmp r5, #0
- 8001b72: d102 bne.n 8001b7a <d_growable_string_callback_adapter+0x4e>
- 8001b74: 2b02 cmp r3, #2
- 8001b76: d90d bls.n 8001b94 <d_growable_string_callback_adapter+0x68>
- 8001b78: 3502 adds r5, #2
- 8001b7a: 006d lsls r5, r5, #1
- 8001b7c: 42ab cmp r3, r5
- 8001b7e: d8fc bhi.n 8001b7a <d_growable_string_callback_adapter+0x4e>
- 8001b80: 0029 movs r1, r5
- 8001b82: 6820 ldr r0, [r4, #0]
- 8001b84: f008 fe20 bl 800a7c8 <realloc>
- 8001b88: 1e07 subs r7, r0, #0
- 8001b8a: d005 beq.n 8001b98 <d_growable_string_callback_adapter+0x6c>
- 8001b8c: 68e7 ldr r7, [r4, #12]
- 8001b8e: 6020 str r0, [r4, #0]
- 8001b90: 60a5 str r5, [r4, #8]
- 8001b92: e7d8 b.n 8001b46 <d_growable_string_callback_adapter+0x1a>
- 8001b94: 2502 movs r5, #2
- 8001b96: e7f3 b.n 8001b80 <d_growable_string_callback_adapter+0x54>
- 8001b98: 6820 ldr r0, [r4, #0]
- 8001b9a: f008 fa9d bl 800a0d8 <free>
- 8001b9e: 2301 movs r3, #1
- 8001ba0: 6027 str r7, [r4, #0]
- 8001ba2: 6067 str r7, [r4, #4]
- 8001ba4: 60a7 str r7, [r4, #8]
- 8001ba6: 60e3 str r3, [r4, #12]
- 8001ba8: e7dd b.n 8001b66 <d_growable_string_callback_adapter+0x3a>
- 8001baa: 46c0 nop @ (mov r8, r8)
- 08001bac <next_is_type_qual.isra.0>:
- 8001bac: 7802 ldrb r2, [r0, #0]
- 8001bae: 0003 movs r3, r0
- 8001bb0: 2a72 cmp r2, #114 @ 0x72
- 8001bb2: d011 beq.n 8001bd8 <next_is_type_qual.isra.0+0x2c>
- 8001bb4: 2a56 cmp r2, #86 @ 0x56
- 8001bb6: d00f beq.n 8001bd8 <next_is_type_qual.isra.0+0x2c>
- 8001bb8: 2a4b cmp r2, #75 @ 0x4b
- 8001bba: d00d beq.n 8001bd8 <next_is_type_qual.isra.0+0x2c>
- 8001bbc: 2000 movs r0, #0
- 8001bbe: 2a44 cmp r2, #68 @ 0x44
- 8001bc0: d10b bne.n 8001bda <next_is_type_qual.isra.0+0x2e>
- 8001bc2: 7858 ldrb r0, [r3, #1]
- 8001bc4: 0003 movs r3, r0
- 8001bc6: 3b77 subs r3, #119 @ 0x77
- 8001bc8: 2b01 cmp r3, #1
- 8001bca: d905 bls.n 8001bd8 <next_is_type_qual.isra.0+0x2c>
- 8001bcc: 2320 movs r3, #32
- 8001bce: 4398 bics r0, r3
- 8001bd0: 384f subs r0, #79 @ 0x4f
- 8001bd2: 4243 negs r3, r0
- 8001bd4: 4158 adcs r0, r3
- 8001bd6: e000 b.n 8001bda <next_is_type_qual.isra.0+0x2e>
- 8001bd8: 2001 movs r0, #1
- 8001bda: 4770 bx lr
- 08001bdc <d_append_char>:
- 8001bdc: 2380 movs r3, #128 @ 0x80
- 8001bde: 005b lsls r3, r3, #1
- 8001be0: 58c3 ldr r3, [r0, r3]
- 8001be2: b570 push {r4, r5, r6, lr}
- 8001be4: 0004 movs r4, r0
- 8001be6: 000d movs r5, r1
- 8001be8: 2bff cmp r3, #255 @ 0xff
- 8001bea: d008 beq.n 8001bfe <d_append_char+0x22>
- 8001bec: 1c59 adds r1, r3, #1
- 8001bee: 2280 movs r2, #128 @ 0x80
- 8001bf0: 0052 lsls r2, r2, #1
- 8001bf2: 50a1 str r1, [r4, r2]
- 8001bf4: 54e5 strb r5, [r4, r3]
- 8001bf6: 2382 movs r3, #130 @ 0x82
- 8001bf8: 005b lsls r3, r3, #1
- 8001bfa: 54e5 strb r5, [r4, r3]
- 8001bfc: bd70 pop {r4, r5, r6, pc}
- 8001bfe: 2200 movs r2, #0
- 8001c00: 54c2 strb r2, [r0, r3]
- 8001c02: 2386 movs r3, #134 @ 0x86
- 8001c04: 005b lsls r3, r3, #1
- 8001c06: 58c2 ldr r2, [r0, r3]
- 8001c08: 3b04 subs r3, #4
- 8001c0a: 21ff movs r1, #255 @ 0xff
- 8001c0c: 58c3 ldr r3, [r0, r3]
- 8001c0e: 4798 blx r3
- 8001c10: 2294 movs r2, #148 @ 0x94
- 8001c12: 0052 lsls r2, r2, #1
- 8001c14: 58a3 ldr r3, [r4, r2]
- 8001c16: 2101 movs r1, #1
- 8001c18: 3301 adds r3, #1
- 8001c1a: 50a3 str r3, [r4, r2]
- 8001c1c: 2300 movs r3, #0
- 8001c1e: e7e6 b.n 8001bee <d_append_char+0x12>
- 08001c20 <d_lookup_template_argument>:
- 8001c20: 2388 movs r3, #136 @ 0x88
- 8001c22: 005b lsls r3, r3, #1
- 8001c24: 58c3 ldr r3, [r0, r3]
- 8001c26: 2b00 cmp r3, #0
- 8001c28: d014 beq.n 8001c54 <d_lookup_template_argument+0x34>
- 8001c2a: 685b ldr r3, [r3, #4]
- 8001c2c: 6918 ldr r0, [r3, #16]
- 8001c2e: 68cb ldr r3, [r1, #12]
- 8001c30: 2b00 cmp r3, #0
- 8001c32: db0c blt.n 8001c4e <d_lookup_template_argument+0x2e>
- 8001c34: 2800 cmp r0, #0
- 8001c36: d106 bne.n 8001c46 <d_lookup_template_argument+0x26>
- 8001c38: e008 b.n 8001c4c <d_lookup_template_argument+0x2c>
- 8001c3a: 2b00 cmp r3, #0
- 8001c3c: d008 beq.n 8001c50 <d_lookup_template_argument+0x30>
- 8001c3e: 6900 ldr r0, [r0, #16]
- 8001c40: 3b01 subs r3, #1
- 8001c42: 2800 cmp r0, #0
- 8001c44: d002 beq.n 8001c4c <d_lookup_template_argument+0x2c>
- 8001c46: 7802 ldrb r2, [r0, #0]
- 8001c48: 2a2f cmp r2, #47 @ 0x2f
- 8001c4a: d0f6 beq.n 8001c3a <d_lookup_template_argument+0x1a>
- 8001c4c: 2000 movs r0, #0
- 8001c4e: 4770 bx lr
- 8001c50: 68c0 ldr r0, [r0, #12]
- 8001c52: e7fc b.n 8001c4e <d_lookup_template_argument+0x2e>
- 8001c54: 2201 movs r2, #1
- 8001c56: 3319 adds r3, #25
- 8001c58: 33ff adds r3, #255 @ 0xff
- 8001c5a: 50c2 str r2, [r0, r3]
- 8001c5c: 2000 movs r0, #0
- 8001c5e: e7f6 b.n 8001c4e <d_lookup_template_argument+0x2e>
- 08001c60 <d_find_pack>:
- 8001c60: b570 push {r4, r5, r6, lr}
- 8001c62: 0005 movs r5, r0
- 8001c64: 1e0c subs r4, r1, #0
- 8001c66: d017 beq.n 8001c98 <d_find_pack+0x38>
- 8001c68: 4e11 ldr r6, [pc, #68] @ (8001cb0 <d_find_pack+0x50>)
- 8001c6a: 7823 ldrb r3, [r4, #0]
- 8001c6c: 2b33 cmp r3, #51 @ 0x33
- 8001c6e: d802 bhi.n 8001c76 <d_find_pack+0x16>
- 8001c70: 009b lsls r3, r3, #2
- 8001c72: 58f3 ldr r3, [r6, r3]
- 8001c74: 469f mov pc, r3
- 8001c76: 3b42 subs r3, #66 @ 0x42
- 8001c78: b2db uxtb r3, r3
- 8001c7a: 2b1a cmp r3, #26
- 8001c7c: d803 bhi.n 8001c86 <d_find_pack+0x26>
- 8001c7e: 4a0d ldr r2, [pc, #52] @ (8001cb4 <d_find_pack+0x54>)
- 8001c80: 40da lsrs r2, r3
- 8001c82: 07d2 lsls r2, r2, #31
- 8001c84: d408 bmi.n 8001c98 <d_find_pack+0x38>
- 8001c86: 0028 movs r0, r5
- 8001c88: 68e1 ldr r1, [r4, #12]
- 8001c8a: f7ff ffe9 bl 8001c60 <d_find_pack>
- 8001c8e: 2800 cmp r0, #0
- 8001c90: d103 bne.n 8001c9a <d_find_pack+0x3a>
- 8001c92: 6924 ldr r4, [r4, #16]
- 8001c94: 2c00 cmp r4, #0
- 8001c96: d1e8 bne.n 8001c6a <d_find_pack+0xa>
- 8001c98: 2000 movs r0, #0
- 8001c9a: bd70 pop {r4, r5, r6, pc}
- 8001c9c: 0021 movs r1, r4
- 8001c9e: 0028 movs r0, r5
- 8001ca0: f7ff ffbe bl 8001c20 <d_lookup_template_argument>
- 8001ca4: 2800 cmp r0, #0
- 8001ca6: d0f7 beq.n 8001c98 <d_find_pack+0x38>
- 8001ca8: 7803 ldrb r3, [r0, #0]
- 8001caa: 2b2f cmp r3, #47 @ 0x2f
- 8001cac: d1f4 bne.n 8001c98 <d_find_pack+0x38>
- 8001cae: e7f4 b.n 8001c9a <d_find_pack+0x3a>
- 8001cb0: 08014d28 .word 0x08014d28
- 8001cb4: 04000ce3 .word 0x04000ce3
- 08001cb8 <d_append_string>:
- 8001cb8: b5f0 push {r4, r5, r6, r7, lr}
- 8001cba: 46d6 mov lr, sl
- 8001cbc: 464f mov r7, r9
- 8001cbe: 4646 mov r6, r8
- 8001cc0: 0005 movs r5, r0
- 8001cc2: b5c0 push {r6, r7, lr}
- 8001cc4: 0008 movs r0, r1
- 8001cc6: 000c movs r4, r1
- 8001cc8: f009 fbc2 bl 800b450 <strlen>
- 8001ccc: 2800 cmp r0, #0
- 8001cce: d02a beq.n 8001d26 <d_append_string+0x6e>
- 8001cd0: 2200 movs r2, #0
- 8001cd2: 2380 movs r3, #128 @ 0x80
- 8001cd4: 4692 mov sl, r2
- 8001cd6: 320d adds r2, #13
- 8001cd8: 32ff adds r2, #255 @ 0xff
- 8001cda: 4691 mov r9, r2
- 8001cdc: 005b lsls r3, r3, #1
- 8001cde: 3a04 subs r2, #4
- 8001ce0: 4690 mov r8, r2
- 8001ce2: 58eb ldr r3, [r5, r3]
- 8001ce4: 1827 adds r7, r4, r0
- 8001ce6: e00a b.n 8001cfe <d_append_string+0x46>
- 8001ce8: 0019 movs r1, r3
- 8001cea: 3301 adds r3, #1
- 8001cec: 2280 movs r2, #128 @ 0x80
- 8001cee: 0052 lsls r2, r2, #1
- 8001cf0: 50ab str r3, [r5, r2]
- 8001cf2: 3401 adds r4, #1
- 8001cf4: 3204 adds r2, #4
- 8001cf6: 546e strb r6, [r5, r1]
- 8001cf8: 54ae strb r6, [r5, r2]
- 8001cfa: 42bc cmp r4, r7
- 8001cfc: d013 beq.n 8001d26 <d_append_string+0x6e>
- 8001cfe: 7826 ldrb r6, [r4, #0]
- 8001d00: 2bff cmp r3, #255 @ 0xff
- 8001d02: d1f1 bne.n 8001ce8 <d_append_string+0x30>
- 8001d04: 4652 mov r2, sl
- 8001d06: 54ea strb r2, [r5, r3]
- 8001d08: 464b mov r3, r9
- 8001d0a: 58ea ldr r2, [r5, r3]
- 8001d0c: 4643 mov r3, r8
- 8001d0e: 21ff movs r1, #255 @ 0xff
- 8001d10: 58eb ldr r3, [r5, r3]
- 8001d12: 0028 movs r0, r5
- 8001d14: 4798 blx r3
- 8001d16: 2294 movs r2, #148 @ 0x94
- 8001d18: 0052 lsls r2, r2, #1
- 8001d1a: 58ab ldr r3, [r5, r2]
- 8001d1c: 2100 movs r1, #0
- 8001d1e: 3301 adds r3, #1
- 8001d20: 50ab str r3, [r5, r2]
- 8001d22: 2301 movs r3, #1
- 8001d24: e7e2 b.n 8001cec <d_append_string+0x34>
- 8001d26: bce0 pop {r5, r6, r7}
- 8001d28: 46ba mov sl, r7
- 8001d2a: 46b1 mov r9, r6
- 8001d2c: 46a8 mov r8, r5
- 8001d2e: bdf0 pop {r4, r5, r6, r7, pc}
- 08001d30 <d_template_param>:
- 8001d30: b570 push {r4, r5, r6, lr}
- 8001d32: 68c2 ldr r2, [r0, #12]
- 8001d34: 0004 movs r4, r0
- 8001d36: 7813 ldrb r3, [r2, #0]
- 8001d38: 2b54 cmp r3, #84 @ 0x54
- 8001d3a: d122 bne.n 8001d82 <d_template_param+0x52>
- 8001d3c: 1c53 adds r3, r2, #1
- 8001d3e: 60c3 str r3, [r0, #12]
- 8001d40: 7852 ldrb r2, [r2, #1]
- 8001d42: 2a5f cmp r2, #95 @ 0x5f
- 8001d44: d01f beq.n 8001d86 <d_template_param+0x56>
- 8001d46: 2a6e cmp r2, #110 @ 0x6e
- 8001d48: d01b beq.n 8001d82 <d_template_param+0x52>
- 8001d4a: f7ff fdf7 bl 800193c <d_number>
- 8001d4e: 1c45 adds r5, r0, #1
- 8001d50: d417 bmi.n 8001d82 <d_template_param+0x52>
- 8001d52: 68e3 ldr r3, [r4, #12]
- 8001d54: 781a ldrb r2, [r3, #0]
- 8001d56: 2a5f cmp r2, #95 @ 0x5f
- 8001d58: d113 bne.n 8001d82 <d_template_param+0x52>
- 8001d5a: 3301 adds r3, #1
- 8001d5c: 60e3 str r3, [r4, #12]
- 8001d5e: 6962 ldr r2, [r4, #20]
- 8001d60: 69a3 ldr r3, [r4, #24]
- 8001d62: 429a cmp r2, r3
- 8001d64: da0d bge.n 8001d82 <d_template_param+0x52>
- 8001d66: 2300 movs r3, #0
- 8001d68: 0091 lsls r1, r2, #2
- 8001d6a: 6920 ldr r0, [r4, #16]
- 8001d6c: 1889 adds r1, r1, r2
- 8001d6e: 0089 lsls r1, r1, #2
- 8001d70: 1840 adds r0, r0, r1
- 8001d72: 6043 str r3, [r0, #4]
- 8001d74: 6083 str r3, [r0, #8]
- 8001d76: 3201 adds r2, #1
- 8001d78: 3305 adds r3, #5
- 8001d7a: 6162 str r2, [r4, #20]
- 8001d7c: 7003 strb r3, [r0, #0]
- 8001d7e: 60c5 str r5, [r0, #12]
- 8001d80: e000 b.n 8001d84 <d_template_param+0x54>
- 8001d82: 2000 movs r0, #0
- 8001d84: bd70 pop {r4, r5, r6, pc}
- 8001d86: 2500 movs r5, #0
- 8001d88: e7e7 b.n 8001d5a <d_template_param+0x2a>
- 8001d8a: 46c0 nop @ (mov r8, r8)
- 08001d8c <d_append_num>:
- 8001d8c: b5f0 push {r4, r5, r6, r7, lr}
- 8001d8e: 46d6 mov lr, sl
- 8001d90: 464f mov r7, r9
- 8001d92: 4646 mov r6, r8
- 8001d94: b5c0 push {r6, r7, lr}
- 8001d96: 4b1f ldr r3, [pc, #124] @ (8001e14 <d_append_num+0x88>)
- 8001d98: b088 sub sp, #32
- 8001d9a: 000a movs r2, r1
- 8001d9c: 0005 movs r5, r0
- 8001d9e: 0019 movs r1, r3
- 8001da0: a801 add r0, sp, #4
- 8001da2: f008 ff73 bl 800ac8c <sprintf>
- 8001da6: a801 add r0, sp, #4
- 8001da8: f009 fb52 bl 800b450 <strlen>
- 8001dac: 2800 cmp r0, #0
- 8001dae: d02b beq.n 8001e08 <d_append_num+0x7c>
- 8001db0: 2200 movs r2, #0
- 8001db2: 2380 movs r3, #128 @ 0x80
- 8001db4: 4692 mov sl, r2
- 8001db6: 320d adds r2, #13
- 8001db8: 32ff adds r2, #255 @ 0xff
- 8001dba: 4691 mov r9, r2
- 8001dbc: 005b lsls r3, r3, #1
- 8001dbe: ac01 add r4, sp, #4
- 8001dc0: 3a04 subs r2, #4
- 8001dc2: 4690 mov r8, r2
- 8001dc4: 58eb ldr r3, [r5, r3]
- 8001dc6: 1827 adds r7, r4, r0
- 8001dc8: e00a b.n 8001de0 <d_append_num+0x54>
- 8001dca: 0019 movs r1, r3
- 8001dcc: 3301 adds r3, #1
- 8001dce: 2280 movs r2, #128 @ 0x80
- 8001dd0: 0052 lsls r2, r2, #1
- 8001dd2: 50ab str r3, [r5, r2]
- 8001dd4: 3401 adds r4, #1
- 8001dd6: 3204 adds r2, #4
- 8001dd8: 546e strb r6, [r5, r1]
- 8001dda: 54ae strb r6, [r5, r2]
- 8001ddc: 42bc cmp r4, r7
- 8001dde: d013 beq.n 8001e08 <d_append_num+0x7c>
- 8001de0: 7826 ldrb r6, [r4, #0]
- 8001de2: 2bff cmp r3, #255 @ 0xff
- 8001de4: d1f1 bne.n 8001dca <d_append_num+0x3e>
- 8001de6: 4652 mov r2, sl
- 8001de8: 54ea strb r2, [r5, r3]
- 8001dea: 464b mov r3, r9
- 8001dec: 58ea ldr r2, [r5, r3]
- 8001dee: 4643 mov r3, r8
- 8001df0: 21ff movs r1, #255 @ 0xff
- 8001df2: 58eb ldr r3, [r5, r3]
- 8001df4: 0028 movs r0, r5
- 8001df6: 4798 blx r3
- 8001df8: 2294 movs r2, #148 @ 0x94
- 8001dfa: 0052 lsls r2, r2, #1
- 8001dfc: 58ab ldr r3, [r5, r2]
- 8001dfe: 2100 movs r1, #0
- 8001e00: 3301 adds r3, #1
- 8001e02: 50ab str r3, [r5, r2]
- 8001e04: 2301 movs r3, #1
- 8001e06: e7e2 b.n 8001dce <d_append_num+0x42>
- 8001e08: b008 add sp, #32
- 8001e0a: bce0 pop {r5, r6, r7}
- 8001e0c: 46ba mov sl, r7
- 8001e0e: 46b1 mov r9, r6
- 8001e10: 46a8 mov r8, r5
- 8001e12: bdf0 pop {r4, r5, r6, r7, pc}
- 8001e14: 080140e4 .word 0x080140e4
- 08001e18 <d_source_name>:
- 8001e18: b5f0 push {r4, r5, r6, r7, lr}
- 8001e1a: 46c6 mov lr, r8
- 8001e1c: b500 push {lr}
- 8001e1e: 0004 movs r4, r0
- 8001e20: f7ff fd8c bl 800193c <d_number>
- 8001e24: 1e05 subs r5, r0, #0
- 8001e26: dd45 ble.n 8001eb4 <d_source_name+0x9c>
- 8001e28: 68e7 ldr r7, [r4, #12]
- 8001e2a: 6863 ldr r3, [r4, #4]
- 8001e2c: 1bdb subs r3, r3, r7
- 8001e2e: 4298 cmp r0, r3
- 8001e30: dc3e bgt.n 8001eb0 <d_source_name+0x98>
- 8001e32: 68a2 ldr r2, [r4, #8]
- 8001e34: 183b adds r3, r7, r0
- 8001e36: 60e3 str r3, [r4, #12]
- 8001e38: 0752 lsls r2, r2, #29
- 8001e3a: d502 bpl.n 8001e42 <d_source_name+0x2a>
- 8001e3c: 781a ldrb r2, [r3, #0]
- 8001e3e: 2a24 cmp r2, #36 @ 0x24
- 8001e40: d03a beq.n 8001eb8 <d_source_name+0xa0>
- 8001e42: 69a3 ldr r3, [r4, #24]
- 8001e44: 6966 ldr r6, [r4, #20]
- 8001e46: 4698 mov r8, r3
- 8001e48: 2d09 cmp r5, #9
- 8001e4a: dd23 ble.n 8001e94 <d_source_name+0x7c>
- 8001e4c: 2208 movs r2, #8
- 8001e4e: 0038 movs r0, r7
- 8001e50: 492a ldr r1, [pc, #168] @ (8001efc <d_source_name+0xe4>)
- 8001e52: f009 f8b3 bl 800afbc <memcmp>
- 8001e56: 2800 cmp r0, #0
- 8001e58: d106 bne.n 8001e68 <d_source_name+0x50>
- 8001e5a: 7a3b ldrb r3, [r7, #8]
- 8001e5c: 2b2e cmp r3, #46 @ 0x2e
- 8001e5e: d033 beq.n 8001ec8 <d_source_name+0xb0>
- 8001e60: 2b5f cmp r3, #95 @ 0x5f
- 8001e62: d031 beq.n 8001ec8 <d_source_name+0xb0>
- 8001e64: 2b24 cmp r3, #36 @ 0x24
- 8001e66: d02f beq.n 8001ec8 <d_source_name+0xb0>
- 8001e68: 4546 cmp r6, r8
- 8001e6a: da21 bge.n 8001eb0 <d_source_name+0x98>
- 8001e6c: 00b3 lsls r3, r6, #2
- 8001e6e: 6920 ldr r0, [r4, #16]
- 8001e70: 199b adds r3, r3, r6
- 8001e72: 009b lsls r3, r3, #2
- 8001e74: 18c0 adds r0, r0, r3
- 8001e76: 2300 movs r3, #0
- 8001e78: 3601 adds r6, #1
- 8001e7a: 6043 str r3, [r0, #4]
- 8001e7c: 6083 str r3, [r0, #8]
- 8001e7e: 6166 str r6, [r4, #20]
- 8001e80: 2300 movs r3, #0
- 8001e82: 60c7 str r7, [r0, #12]
- 8001e84: 6043 str r3, [r0, #4]
- 8001e86: 6083 str r3, [r0, #8]
- 8001e88: 7003 strb r3, [r0, #0]
- 8001e8a: 6105 str r5, [r0, #16]
- 8001e8c: 62a0 str r0, [r4, #40] @ 0x28
- 8001e8e: bc80 pop {r7}
- 8001e90: 46b8 mov r8, r7
- 8001e92: bdf0 pop {r4, r5, r6, r7, pc}
- 8001e94: 429e cmp r6, r3
- 8001e96: da0b bge.n 8001eb0 <d_source_name+0x98>
- 8001e98: 00b3 lsls r3, r6, #2
- 8001e9a: 6920 ldr r0, [r4, #16]
- 8001e9c: 199b adds r3, r3, r6
- 8001e9e: 009b lsls r3, r3, #2
- 8001ea0: 18c0 adds r0, r0, r3
- 8001ea2: 2300 movs r3, #0
- 8001ea4: 3601 adds r6, #1
- 8001ea6: 6043 str r3, [r0, #4]
- 8001ea8: 6083 str r3, [r0, #8]
- 8001eaa: 6166 str r6, [r4, #20]
- 8001eac: 2f00 cmp r7, #0
- 8001eae: d1e7 bne.n 8001e80 <d_source_name+0x68>
- 8001eb0: 2000 movs r0, #0
- 8001eb2: e7eb b.n 8001e8c <d_source_name+0x74>
- 8001eb4: 2000 movs r0, #0
- 8001eb6: e7ea b.n 8001e8e <d_source_name+0x76>
- 8001eb8: 3301 adds r3, #1
- 8001eba: 60e3 str r3, [r4, #12]
- 8001ebc: 69a3 ldr r3, [r4, #24]
- 8001ebe: 6966 ldr r6, [r4, #20]
- 8001ec0: 4698 mov r8, r3
- 8001ec2: 2d09 cmp r5, #9
- 8001ec4: dcc2 bgt.n 8001e4c <d_source_name+0x34>
- 8001ec6: e7e5 b.n 8001e94 <d_source_name+0x7c>
- 8001ec8: 7a7b ldrb r3, [r7, #9]
- 8001eca: 2b4e cmp r3, #78 @ 0x4e
- 8001ecc: d1cc bne.n 8001e68 <d_source_name+0x50>
- 8001ece: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8001ed0: 3316 adds r3, #22
- 8001ed2: 1b5b subs r3, r3, r5
- 8001ed4: 62e3 str r3, [r4, #44] @ 0x2c
- 8001ed6: 4546 cmp r6, r8
- 8001ed8: daea bge.n 8001eb0 <d_source_name+0x98>
- 8001eda: 00b3 lsls r3, r6, #2
- 8001edc: 6920 ldr r0, [r4, #16]
- 8001ede: 199b adds r3, r3, r6
- 8001ee0: 009b lsls r3, r3, #2
- 8001ee2: 18c0 adds r0, r0, r3
- 8001ee4: 2300 movs r3, #0
- 8001ee6: 3601 adds r6, #1
- 8001ee8: 6166 str r6, [r4, #20]
- 8001eea: 6043 str r3, [r0, #4]
- 8001eec: 6083 str r3, [r0, #8]
- 8001eee: 7003 strb r3, [r0, #0]
- 8001ef0: 4b03 ldr r3, [pc, #12] @ (8001f00 <d_source_name+0xe8>)
- 8001ef2: 60c3 str r3, [r0, #12]
- 8001ef4: 2315 movs r3, #21
- 8001ef6: 6103 str r3, [r0, #16]
- 8001ef8: e7c8 b.n 8001e8c <d_source_name+0x74>
- 8001efa: 46c0 nop @ (mov r8, r8)
- 8001efc: 080140e8 .word 0x080140e8
- 8001f00: 080140f4 .word 0x080140f4
- 08001f04 <d_substitution>:
- 8001f04: b5f8 push {r3, r4, r5, r6, r7, lr}
- 8001f06: 68c3 ldr r3, [r0, #12]
- 8001f08: 0004 movs r4, r0
- 8001f0a: 781a ldrb r2, [r3, #0]
- 8001f0c: 2a53 cmp r2, #83 @ 0x53
- 8001f0e: d124 bne.n 8001f5a <d_substitution+0x56>
- 8001f10: 1c5a adds r2, r3, #1
- 8001f12: 60c2 str r2, [r0, #12]
- 8001f14: 785a ldrb r2, [r3, #1]
- 8001f16: 2a00 cmp r2, #0
- 8001f18: d00e beq.n 8001f38 <d_substitution+0x34>
- 8001f1a: 1c9a adds r2, r3, #2
- 8001f1c: 60c2 str r2, [r0, #12]
- 8001f1e: 785a ldrb r2, [r3, #1]
- 8001f20: 2a5f cmp r2, #95 @ 0x5f
- 8001f22: d046 beq.n 8001fb2 <d_substitution+0xae>
- 8001f24: 0013 movs r3, r2
- 8001f26: 3b30 subs r3, #48 @ 0x30
- 8001f28: b2dd uxtb r5, r3
- 8001f2a: 2000 movs r0, #0
- 8001f2c: 2d09 cmp r5, #9
- 8001f2e: d91f bls.n 8001f70 <d_substitution+0x6c>
- 8001f30: 0015 movs r5, r2
- 8001f32: 3d41 subs r5, #65 @ 0x41
- 8001f34: 2d19 cmp r5, #25
- 8001f36: d91b bls.n 8001f70 <d_substitution+0x6c>
- 8001f38: 68a0 ldr r0, [r4, #8]
- 8001f3a: 2308 movs r3, #8
- 8001f3c: 0005 movs r5, r0
- 8001f3e: 401d ands r5, r3
- 8001f40: 4218 tst r0, r3
- 8001f42: d138 bne.n 8001fb6 <d_substitution+0xb2>
- 8001f44: 2900 cmp r1, #0
- 8001f46: d138 bne.n 8001fba <d_substitution+0xb6>
- 8001f48: 4b4e ldr r3, [pc, #312] @ (8002084 <d_substitution+0x180>)
- 8001f4a: 001d movs r5, r3
- 8001f4c: 35c4 adds r5, #196 @ 0xc4
- 8001f4e: 7818 ldrb r0, [r3, #0]
- 8001f50: 4290 cmp r0, r2
- 8001f52: d03b beq.n 8001fcc <d_substitution+0xc8>
- 8001f54: 331c adds r3, #28
- 8001f56: 42ab cmp r3, r5
- 8001f58: d1f9 bne.n 8001f4e <d_substitution+0x4a>
- 8001f5a: 2500 movs r5, #0
- 8001f5c: 0028 movs r0, r5
- 8001f5e: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 8001f60: 1c51 adds r1, r2, #1
- 8001f62: 60e1 str r1, [r4, #12]
- 8001f64: 7812 ldrb r2, [r2, #0]
- 8001f66: 2a5f cmp r2, #95 @ 0x5f
- 8001f68: d01b beq.n 8001fa2 <d_substitution+0x9e>
- 8001f6a: 0018 movs r0, r3
- 8001f6c: 0013 movs r3, r2
- 8001f6e: 3b30 subs r3, #48 @ 0x30
- 8001f70: b2db uxtb r3, r3
- 8001f72: 2b09 cmp r3, #9
- 8001f74: d80b bhi.n 8001f8e <d_substitution+0x8a>
- 8001f76: 00c3 lsls r3, r0, #3
- 8001f78: 181b adds r3, r3, r0
- 8001f7a: 009b lsls r3, r3, #2
- 8001f7c: 189b adds r3, r3, r2
- 8001f7e: 3b30 subs r3, #48 @ 0x30
- 8001f80: 4298 cmp r0, r3
- 8001f82: d8ea bhi.n 8001f5a <d_substitution+0x56>
- 8001f84: 68e2 ldr r2, [r4, #12]
- 8001f86: 7811 ldrb r1, [r2, #0]
- 8001f88: 2900 cmp r1, #0
- 8001f8a: d0e6 beq.n 8001f5a <d_substitution+0x56>
- 8001f8c: e7e8 b.n 8001f60 <d_substitution+0x5c>
- 8001f8e: 0013 movs r3, r2
- 8001f90: 3b41 subs r3, #65 @ 0x41
- 8001f92: 2b19 cmp r3, #25
- 8001f94: d8e1 bhi.n 8001f5a <d_substitution+0x56>
- 8001f96: 00c3 lsls r3, r0, #3
- 8001f98: 181b adds r3, r3, r0
- 8001f9a: 009b lsls r3, r3, #2
- 8001f9c: 189b adds r3, r3, r2
- 8001f9e: 3b37 subs r3, #55 @ 0x37
- 8001fa0: e7ee b.n 8001f80 <d_substitution+0x7c>
- 8001fa2: 3301 adds r3, #1
- 8001fa4: 6a22 ldr r2, [r4, #32]
- 8001fa6: 429a cmp r2, r3
- 8001fa8: d9d7 bls.n 8001f5a <d_substitution+0x56>
- 8001faa: 69e2 ldr r2, [r4, #28]
- 8001fac: 009b lsls r3, r3, #2
- 8001fae: 589d ldr r5, [r3, r2]
- 8001fb0: e7d4 b.n 8001f5c <d_substitution+0x58>
- 8001fb2: 2300 movs r3, #0
- 8001fb4: e7f6 b.n 8001fa4 <d_substitution+0xa0>
- 8001fb6: 2101 movs r1, #1
- 8001fb8: e7c6 b.n 8001f48 <d_substitution+0x44>
- 8001fba: 2101 movs r1, #1
- 8001fbc: 68e3 ldr r3, [r4, #12]
- 8001fbe: 781b ldrb r3, [r3, #0]
- 8001fc0: 3b43 subs r3, #67 @ 0x43
- 8001fc2: b2db uxtb r3, r3
- 8001fc4: 4299 cmp r1, r3
- 8001fc6: 416d adcs r5, r5
- 8001fc8: 0029 movs r1, r5
- 8001fca: e7bd b.n 8001f48 <d_substitution+0x44>
- 8001fcc: 695e ldr r6, [r3, #20]
- 8001fce: 6962 ldr r2, [r4, #20]
- 8001fd0: 69a5 ldr r5, [r4, #24]
- 8001fd2: 2e00 cmp r6, #0
- 8001fd4: d013 beq.n 8001ffe <d_substitution+0xfa>
- 8001fd6: 6998 ldr r0, [r3, #24]
- 8001fd8: 4684 mov ip, r0
- 8001fda: 4295 cmp r5, r2
- 8001fdc: dd50 ble.n 8002080 <d_substitution+0x17c>
- 8001fde: 0097 lsls r7, r2, #2
- 8001fe0: 6920 ldr r0, [r4, #16]
- 8001fe2: 18bf adds r7, r7, r2
- 8001fe4: 00bf lsls r7, r7, #2
- 8001fe6: 19c0 adds r0, r0, r7
- 8001fe8: 2700 movs r7, #0
- 8001fea: 3201 adds r2, #1
- 8001fec: 6047 str r7, [r0, #4]
- 8001fee: 6087 str r7, [r0, #8]
- 8001ff0: 6162 str r2, [r4, #20]
- 8001ff2: 60c6 str r6, [r0, #12]
- 8001ff4: 4666 mov r6, ip
- 8001ff6: 3718 adds r7, #24
- 8001ff8: 7007 strb r7, [r0, #0]
- 8001ffa: 6106 str r6, [r0, #16]
- 8001ffc: 62a0 str r0, [r4, #40] @ 0x28
- 8001ffe: 2900 cmp r1, #0
- 8002000: d039 beq.n 8002076 <d_substitution+0x172>
- 8002002: 68d8 ldr r0, [r3, #12]
- 8002004: 6919 ldr r1, [r3, #16]
- 8002006: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002008: 185b adds r3, r3, r1
- 800200a: 62e3 str r3, [r4, #44] @ 0x2c
- 800200c: 42aa cmp r2, r5
- 800200e: da35 bge.n 800207c <d_substitution+0x178>
- 8002010: 0093 lsls r3, r2, #2
- 8002012: 6925 ldr r5, [r4, #16]
- 8002014: 189b adds r3, r3, r2
- 8002016: 009b lsls r3, r3, #2
- 8002018: 18ed adds r5, r5, r3
- 800201a: 2300 movs r3, #0
- 800201c: 3201 adds r2, #1
- 800201e: 606b str r3, [r5, #4]
- 8002020: 60ab str r3, [r5, #8]
- 8002022: 3318 adds r3, #24
- 8002024: 6162 str r2, [r4, #20]
- 8002026: 702b strb r3, [r5, #0]
- 8002028: 60e8 str r0, [r5, #12]
- 800202a: 6129 str r1, [r5, #16]
- 800202c: 68e3 ldr r3, [r4, #12]
- 800202e: 781a ldrb r2, [r3, #0]
- 8002030: 2a42 cmp r2, #66 @ 0x42
- 8002032: d000 beq.n 8002036 <d_substitution+0x132>
- 8002034: e792 b.n 8001f5c <d_substitution+0x58>
- 8002036: 6aa6 ldr r6, [r4, #40] @ 0x28
- 8002038: 3301 adds r3, #1
- 800203a: 60e3 str r3, [r4, #12]
- 800203c: 0020 movs r0, r4
- 800203e: f7ff feeb bl 8001e18 <d_source_name>
- 8002042: 002a movs r2, r5
- 8002044: 0003 movs r3, r0
- 8002046: 214d movs r1, #77 @ 0x4d
- 8002048: 0020 movs r0, r4
- 800204a: f7ff fc0b bl 8001864 <d_make_comp>
- 800204e: 68e3 ldr r3, [r4, #12]
- 8002050: 0005 movs r5, r0
- 8002052: 781a ldrb r2, [r3, #0]
- 8002054: 2a42 cmp r2, #66 @ 0x42
- 8002056: d0ef beq.n 8002038 <d_substitution+0x134>
- 8002058: 62a6 str r6, [r4, #40] @ 0x28
- 800205a: 2800 cmp r0, #0
- 800205c: d100 bne.n 8002060 <d_substitution+0x15c>
- 800205e: e77c b.n 8001f5a <d_substitution+0x56>
- 8002060: 6a23 ldr r3, [r4, #32]
- 8002062: 6a62 ldr r2, [r4, #36] @ 0x24
- 8002064: 4293 cmp r3, r2
- 8002066: db00 blt.n 800206a <d_substitution+0x166>
- 8002068: e777 b.n 8001f5a <d_substitution+0x56>
- 800206a: 69e2 ldr r2, [r4, #28]
- 800206c: 0099 lsls r1, r3, #2
- 800206e: 3301 adds r3, #1
- 8002070: 5088 str r0, [r1, r2]
- 8002072: 6223 str r3, [r4, #32]
- 8002074: e772 b.n 8001f5c <d_substitution+0x58>
- 8002076: 6858 ldr r0, [r3, #4]
- 8002078: 6899 ldr r1, [r3, #8]
- 800207a: e7c4 b.n 8002006 <d_substitution+0x102>
- 800207c: 2500 movs r5, #0
- 800207e: e7d5 b.n 800202c <d_substitution+0x128>
- 8002080: 2000 movs r0, #0
- 8002082: e7bb b.n 8001ffc <d_substitution+0xf8>
- 8002084: 08015328 .word 0x08015328
- 08002088 <d_maybe_module_name>:
- 8002088: b5f8 push {r3, r4, r5, r6, r7, lr}
- 800208a: 68c3 ldr r3, [r0, #12]
- 800208c: 0004 movs r4, r0
- 800208e: 781a ldrb r2, [r3, #0]
- 8002090: 000d movs r5, r1
- 8002092: 2a57 cmp r2, #87 @ 0x57
- 8002094: d009 beq.n 80020aa <d_maybe_module_name+0x22>
- 8002096: e024 b.n 80020e2 <d_maybe_module_name+0x5a>
- 8002098: 69e2 ldr r2, [r4, #28]
- 800209a: 0099 lsls r1, r3, #2
- 800209c: 3301 adds r3, #1
- 800209e: 5088 str r0, [r1, r2]
- 80020a0: 6223 str r3, [r4, #32]
- 80020a2: 68e3 ldr r3, [r4, #12]
- 80020a4: 781a ldrb r2, [r3, #0]
- 80020a6: 2a57 cmp r2, #87 @ 0x57
- 80020a8: d11b bne.n 80020e2 <d_maybe_module_name+0x5a>
- 80020aa: 1c5a adds r2, r3, #1
- 80020ac: 60e2 str r2, [r4, #12]
- 80020ae: 785a ldrb r2, [r3, #1]
- 80020b0: 2653 movs r6, #83 @ 0x53
- 80020b2: 2a50 cmp r2, #80 @ 0x50
- 80020b4: d102 bne.n 80020bc <d_maybe_module_name+0x34>
- 80020b6: 3302 adds r3, #2
- 80020b8: 60e3 str r3, [r4, #12]
- 80020ba: 3601 adds r6, #1
- 80020bc: 0020 movs r0, r4
- 80020be: 682f ldr r7, [r5, #0]
- 80020c0: f7ff feaa bl 8001e18 <d_source_name>
- 80020c4: 003a movs r2, r7
- 80020c6: 0003 movs r3, r0
- 80020c8: 0031 movs r1, r6
- 80020ca: 0020 movs r0, r4
- 80020cc: f7ff fbca bl 8001864 <d_make_comp>
- 80020d0: 6028 str r0, [r5, #0]
- 80020d2: 2800 cmp r0, #0
- 80020d4: d003 beq.n 80020de <d_maybe_module_name+0x56>
- 80020d6: 6a23 ldr r3, [r4, #32]
- 80020d8: 6a62 ldr r2, [r4, #36] @ 0x24
- 80020da: 4293 cmp r3, r2
- 80020dc: dbdc blt.n 8002098 <d_maybe_module_name+0x10>
- 80020de: 2000 movs r0, #0
- 80020e0: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 80020e2: 2001 movs r0, #1
- 80020e4: e7fc b.n 80020e0 <d_maybe_module_name+0x58>
- 80020e6: 46c0 nop @ (mov r8, r8)
- 080020e8 <d_type>:
- 80020e8: b5f0 push {r4, r5, r6, r7, lr}
- 80020ea: 46ce mov lr, r9
- 80020ec: 4647 mov r7, r8
- 80020ee: b580 push {r7, lr}
- 80020f0: 68c5 ldr r5, [r0, #12]
- 80020f2: 0004 movs r4, r0
- 80020f4: b085 sub sp, #20
- 80020f6: 0028 movs r0, r5
- 80020f8: f7ff fd58 bl 8001bac <next_is_type_qual.isra.0>
- 80020fc: 1e02 subs r2, r0, #0
- 80020fe: d10c bne.n 800211a <d_type+0x32>
- 8002100: 782b ldrb r3, [r5, #0]
- 8002102: 2b55 cmp r3, #85 @ 0x55
- 8002104: d83c bhi.n 8002180 <d_type+0x98>
- 8002106: 2b40 cmp r3, #64 @ 0x40
- 8002108: d962 bls.n 80021d0 <d_type+0xe8>
- 800210a: 3b41 subs r3, #65 @ 0x41
- 800210c: b2db uxtb r3, r3
- 800210e: 2b14 cmp r3, #20
- 8002110: d85e bhi.n 80021d0 <d_type+0xe8>
- 8002112: 4ab8 ldr r2, [pc, #736] @ (80023f4 <d_type+0x30c>)
- 8002114: 009b lsls r3, r3, #2
- 8002116: 58d3 ldr r3, [r2, r3]
- 8002118: 469f mov pc, r3
- 800211a: 2200 movs r2, #0
- 800211c: 4669 mov r1, sp
- 800211e: 0020 movs r0, r4
- 8002120: f001 f97e bl 8003420 <d_cv_qualifiers>
- 8002124: 1e05 subs r5, r0, #0
- 8002126: d100 bne.n 800212a <d_type+0x42>
- 8002128: e123 b.n 8002372 <d_type+0x28a>
- 800212a: 68e3 ldr r3, [r4, #12]
- 800212c: 0020 movs r0, r4
- 800212e: 781b ldrb r3, [r3, #0]
- 8002130: 2b46 cmp r3, #70 @ 0x46
- 8002132: d022 beq.n 800217a <d_type+0x92>
- 8002134: f7ff ffd8 bl 80020e8 <d_type>
- 8002138: 6028 str r0, [r5, #0]
- 800213a: 2800 cmp r0, #0
- 800213c: d100 bne.n 8002140 <d_type+0x58>
- 800213e: e118 b.n 8002372 <d_type+0x28a>
- 8002140: 7803 ldrb r3, [r0, #0]
- 8002142: 3b1f subs r3, #31
- 8002144: 2b01 cmp r3, #1
- 8002146: d805 bhi.n 8002154 <d_type+0x6c>
- 8002148: 9a00 ldr r2, [sp, #0]
- 800214a: 68c3 ldr r3, [r0, #12]
- 800214c: 60c2 str r2, [r0, #12]
- 800214e: 682a ldr r2, [r5, #0]
- 8002150: 9200 str r2, [sp, #0]
- 8002152: 602b str r3, [r5, #0]
- 8002154: 9800 ldr r0, [sp, #0]
- 8002156: 2800 cmp r0, #0
- 8002158: d100 bne.n 800215c <d_type+0x74>
- 800215a: e10a b.n 8002372 <d_type+0x28a>
- 800215c: 6a23 ldr r3, [r4, #32]
- 800215e: 6a62 ldr r2, [r4, #36] @ 0x24
- 8002160: 4293 cmp r3, r2
- 8002162: db00 blt.n 8002166 <d_type+0x7e>
- 8002164: e105 b.n 8002372 <d_type+0x28a>
- 8002166: 69e2 ldr r2, [r4, #28]
- 8002168: 0099 lsls r1, r3, #2
- 800216a: 3301 adds r3, #1
- 800216c: 5088 str r0, [r1, r2]
- 800216e: 6223 str r3, [r4, #32]
- 8002170: b005 add sp, #20
- 8002172: bcc0 pop {r6, r7}
- 8002174: 46b9 mov r9, r7
- 8002176: 46b0 mov r8, r6
- 8002178: bdf0 pop {r4, r5, r6, r7, pc}
- 800217a: f000 fba1 bl 80028c0 <d_function_type>
- 800217e: e7db b.n 8002138 <d_type+0x50>
- 8002180: 3b61 subs r3, #97 @ 0x61
- 8002182: b2d8 uxtb r0, r3
- 8002184: 2819 cmp r0, #25
- 8002186: d823 bhi.n 80021d0 <d_type+0xe8>
- 8002188: 2101 movs r1, #1
- 800218a: 4081 lsls r1, r0
- 800218c: 4e9a ldr r6, [pc, #616] @ (80023f8 <d_type+0x310>)
- 800218e: 4231 tst r1, r6
- 8002190: d000 beq.n 8002194 <d_type+0xac>
- 8002192: e287 b.n 80026a4 <d_type+0x5bc>
- 8002194: 2814 cmp r0, #20
- 8002196: d11b bne.n 80021d0 <d_type+0xe8>
- 8002198: 3501 adds r5, #1
- 800219a: 60e5 str r5, [r4, #12]
- 800219c: 0020 movs r0, r4
- 800219e: f7ff fe3b bl 8001e18 <d_source_name>
- 80021a2: 2300 movs r3, #0
- 80021a4: 0002 movs r2, r0
- 80021a6: 2128 movs r1, #40 @ 0x28
- 80021a8: 0020 movs r0, r4
- 80021aa: f7ff fb5b bl 8001864 <d_make_comp>
- 80021ae: 0005 movs r5, r0
- 80021b0: 9000 str r0, [sp, #0]
- 80021b2: 2d00 cmp r5, #0
- 80021b4: d100 bne.n 80021b8 <d_type+0xd0>
- 80021b6: e0dc b.n 8002372 <d_type+0x28a>
- 80021b8: 6a23 ldr r3, [r4, #32]
- 80021ba: 6a62 ldr r2, [r4, #36] @ 0x24
- 80021bc: 4293 cmp r3, r2
- 80021be: db00 blt.n 80021c2 <d_type+0xda>
- 80021c0: e0d7 b.n 8002372 <d_type+0x28a>
- 80021c2: 69e2 ldr r2, [r4, #28]
- 80021c4: 0099 lsls r1, r3, #2
- 80021c6: 3301 adds r3, #1
- 80021c8: 508d str r5, [r1, r2]
- 80021ca: 9800 ldr r0, [sp, #0]
- 80021cc: 6223 str r3, [r4, #32]
- 80021ce: e7cf b.n 8002170 <d_type+0x88>
- 80021d0: 2101 movs r1, #1
- 80021d2: 0020 movs r0, r4
- 80021d4: f001 f9dc bl 8003590 <d_name>
- 80021d8: e7ca b.n 8002170 <d_type+0x88>
- 80021da: 3501 adds r5, #1
- 80021dc: 60e5 str r5, [r4, #12]
- 80021de: 0020 movs r0, r4
- 80021e0: f7ff ff82 bl 80020e8 <d_type>
- 80021e4: 2300 movs r3, #0
- 80021e6: 0002 movs r2, r0
- 80021e8: 2125 movs r1, #37 @ 0x25
- 80021ea: 0020 movs r0, r4
- 80021ec: f7ff fb3a bl 8001864 <d_make_comp>
- 80021f0: 0005 movs r5, r0
- 80021f2: 9000 str r0, [sp, #0]
- 80021f4: e7dd b.n 80021b2 <d_type+0xca>
- 80021f6: 1c6b adds r3, r5, #1
- 80021f8: 60e3 str r3, [r4, #12]
- 80021fa: 786b ldrb r3, [r5, #1]
- 80021fc: 2b00 cmp r3, #0
- 80021fe: d100 bne.n 8002202 <d_type+0x11a>
- 8002200: e0b7 b.n 8002372 <d_type+0x28a>
- 8002202: 1cab adds r3, r5, #2
- 8002204: 60e3 str r3, [r4, #12]
- 8002206: 786b ldrb r3, [r5, #1]
- 8002208: 3b46 subs r3, #70 @ 0x46
- 800220a: b2db uxtb r3, r3
- 800220c: 2b30 cmp r3, #48 @ 0x30
- 800220e: d900 bls.n 8002212 <d_type+0x12a>
- 8002210: e0af b.n 8002372 <d_type+0x28a>
- 8002212: 4a7a ldr r2, [pc, #488] @ (80023fc <d_type+0x314>)
- 8002214: 009b lsls r3, r3, #2
- 8002216: 58d3 ldr r3, [r2, r3]
- 8002218: 469f mov pc, r3
- 800221a: 0020 movs r0, r4
- 800221c: f000 fb50 bl 80028c0 <d_function_type>
- 8002220: 0005 movs r5, r0
- 8002222: 9000 str r0, [sp, #0]
- 8002224: e7c5 b.n 80021b2 <d_type+0xca>
- 8002226: 3501 adds r5, #1
- 8002228: 60e5 str r5, [r4, #12]
- 800222a: 0020 movs r0, r4
- 800222c: f7ff ff5c bl 80020e8 <d_type>
- 8002230: 2300 movs r3, #0
- 8002232: 0002 movs r2, r0
- 8002234: 2126 movs r1, #38 @ 0x26
- 8002236: 0020 movs r0, r4
- 8002238: f7ff fb14 bl 8001864 <d_make_comp>
- 800223c: 0005 movs r5, r0
- 800223e: 9000 str r0, [sp, #0]
- 8002240: e7b7 b.n 80021b2 <d_type+0xca>
- 8002242: 3501 adds r5, #1
- 8002244: 60e5 str r5, [r4, #12]
- 8002246: 0020 movs r0, r4
- 8002248: f7ff ff4e bl 80020e8 <d_type>
- 800224c: 2300 movs r3, #0
- 800224e: 0002 movs r2, r0
- 8002250: 2124 movs r1, #36 @ 0x24
- 8002252: 0020 movs r0, r4
- 8002254: f7ff fb06 bl 8001864 <d_make_comp>
- 8002258: 0005 movs r5, r0
- 800225a: 9000 str r0, [sp, #0]
- 800225c: e7a9 b.n 80021b2 <d_type+0xca>
- 800225e: 3501 adds r5, #1
- 8002260: 60e5 str r5, [r4, #12]
- 8002262: 0020 movs r0, r4
- 8002264: f7ff ff40 bl 80020e8 <d_type>
- 8002268: 2300 movs r3, #0
- 800226a: 0002 movs r2, r0
- 800226c: 2122 movs r1, #34 @ 0x22
- 800226e: 0020 movs r0, r4
- 8002270: f7ff faf8 bl 8001864 <d_make_comp>
- 8002274: 0005 movs r5, r0
- 8002276: 9000 str r0, [sp, #0]
- 8002278: e79b b.n 80021b2 <d_type+0xca>
- 800227a: 3501 adds r5, #1
- 800227c: 60e5 str r5, [r4, #12]
- 800227e: 0020 movs r0, r4
- 8002280: f7ff ff32 bl 80020e8 <d_type>
- 8002284: 2300 movs r3, #0
- 8002286: 0002 movs r2, r0
- 8002288: 2123 movs r1, #35 @ 0x23
- 800228a: 0020 movs r0, r4
- 800228c: f7ff faea bl 8001864 <d_make_comp>
- 8002290: 0005 movs r5, r0
- 8002292: 9000 str r0, [sp, #0]
- 8002294: e78d b.n 80021b2 <d_type+0xca>
- 8002296: 0020 movs r0, r4
- 8002298: f7ff fd4a bl 8001d30 <d_template_param>
- 800229c: 68e6 ldr r6, [r4, #12]
- 800229e: 0005 movs r5, r0
- 80022a0: 7833 ldrb r3, [r6, #0]
- 80022a2: 9000 str r0, [sp, #0]
- 80022a4: 2b49 cmp r3, #73 @ 0x49
- 80022a6: d184 bne.n 80021b2 <d_type+0xca>
- 80022a8: 6b63 ldr r3, [r4, #52] @ 0x34
- 80022aa: 2b00 cmp r3, #0
- 80022ac: d000 beq.n 80022b0 <d_type+0x1c8>
- 80022ae: e22f b.n 8002710 <d_type+0x628>
- 80022b0: 2800 cmp r0, #0
- 80022b2: d05e beq.n 8002372 <d_type+0x28a>
- 80022b4: 6a23 ldr r3, [r4, #32]
- 80022b6: 6a62 ldr r2, [r4, #36] @ 0x24
- 80022b8: 4293 cmp r3, r2
- 80022ba: da5a bge.n 8002372 <d_type+0x28a>
- 80022bc: 69e2 ldr r2, [r4, #28]
- 80022be: 0099 lsls r1, r3, #2
- 80022c0: 3301 adds r3, #1
- 80022c2: 5088 str r0, [r1, r2]
- 80022c4: 6223 str r3, [r4, #32]
- 80022c6: 7832 ldrb r2, [r6, #0]
- 80022c8: 2300 movs r3, #0
- 80022ca: 3a49 subs r2, #73 @ 0x49
- 80022cc: 2a01 cmp r2, #1
- 80022ce: d805 bhi.n 80022dc <d_type+0x1f4>
- 80022d0: 3601 adds r6, #1
- 80022d2: 0020 movs r0, r4
- 80022d4: 60e6 str r6, [r4, #12]
- 80022d6: f001 fe1b bl 8003f10 <d_template_args_1>
- 80022da: 0003 movs r3, r0
- 80022dc: 002a movs r2, r5
- 80022de: 2104 movs r1, #4
- 80022e0: 0020 movs r0, r4
- 80022e2: f7ff fabf bl 8001864 <d_make_comp>
- 80022e6: 0005 movs r5, r0
- 80022e8: 9000 str r0, [sp, #0]
- 80022ea: e762 b.n 80021b2 <d_type+0xca>
- 80022ec: 3501 adds r5, #1
- 80022ee: 60e5 str r5, [r4, #12]
- 80022f0: 0020 movs r0, r4
- 80022f2: f7ff fd91 bl 8001e18 <d_source_name>
- 80022f6: 68e1 ldr r1, [r4, #12]
- 80022f8: 0006 movs r6, r0
- 80022fa: 780d ldrb r5, [r1, #0]
- 80022fc: 9000 str r0, [sp, #0]
- 80022fe: 2d49 cmp r5, #73 @ 0x49
- 8002300: d100 bne.n 8002304 <d_type+0x21c>
- 8002302: e1eb b.n 80026dc <d_type+0x5f4>
- 8002304: 0020 movs r0, r4
- 8002306: f7ff feef bl 80020e8 <d_type>
- 800230a: 0033 movs r3, r6
- 800230c: 0002 movs r2, r0
- 800230e: 2121 movs r1, #33 @ 0x21
- 8002310: 0020 movs r0, r4
- 8002312: f7ff faa7 bl 8001864 <d_make_comp>
- 8002316: 0005 movs r5, r0
- 8002318: 9000 str r0, [sp, #0]
- 800231a: e74a b.n 80021b2 <d_type+0xca>
- 800231c: 1c68 adds r0, r5, #1
- 800231e: 60e0 str r0, [r4, #12]
- 8002320: 786a ldrb r2, [r5, #1]
- 8002322: 2a5f cmp r2, #95 @ 0x5f
- 8002324: d03b beq.n 800239e <d_type+0x2b6>
- 8002326: 3a30 subs r2, #48 @ 0x30
- 8002328: 2a09 cmp r2, #9
- 800232a: d900 bls.n 800232e <d_type+0x246>
- 800232c: e1e3 b.n 80026f6 <d_type+0x60e>
- 800232e: 0001 movs r1, r0
- 8002330: 000f movs r7, r1
- 8002332: 3101 adds r1, #1
- 8002334: 60e1 str r1, [r4, #12]
- 8002336: 780b ldrb r3, [r1, #0]
- 8002338: 3b30 subs r3, #48 @ 0x30
- 800233a: 2b09 cmp r3, #9
- 800233c: d9f8 bls.n 8002330 <d_type+0x248>
- 800233e: 6962 ldr r2, [r4, #20]
- 8002340: 69a3 ldr r3, [r4, #24]
- 8002342: 1b7d subs r5, r7, r5
- 8002344: 429a cmp r2, r3
- 8002346: da14 bge.n 8002372 <d_type+0x28a>
- 8002348: 0093 lsls r3, r2, #2
- 800234a: 6926 ldr r6, [r4, #16]
- 800234c: 189b adds r3, r3, r2
- 800234e: 009b lsls r3, r3, #2
- 8002350: 18f6 adds r6, r6, r3
- 8002352: 2300 movs r3, #0
- 8002354: 3201 adds r2, #1
- 8002356: 6073 str r3, [r6, #4]
- 8002358: 60b3 str r3, [r6, #8]
- 800235a: 6162 str r2, [r4, #20]
- 800235c: 2d00 cmp r5, #0
- 800235e: dd08 ble.n 8002372 <d_type+0x28a>
- 8002360: 60f0 str r0, [r6, #12]
- 8002362: 0008 movs r0, r1
- 8002364: 6073 str r3, [r6, #4]
- 8002366: 60b3 str r3, [r6, #8]
- 8002368: 7033 strb r3, [r6, #0]
- 800236a: 6135 str r5, [r6, #16]
- 800236c: 787b ldrb r3, [r7, #1]
- 800236e: 2b5f cmp r3, #95 @ 0x5f
- 8002370: d016 beq.n 80023a0 <d_type+0x2b8>
- 8002372: 2000 movs r0, #0
- 8002374: e6fc b.n 8002170 <d_type+0x88>
- 8002376: 3501 adds r5, #1
- 8002378: 60e5 str r5, [r4, #12]
- 800237a: 0020 movs r0, r4
- 800237c: f7ff feb4 bl 80020e8 <d_type>
- 8002380: 1e05 subs r5, r0, #0
- 8002382: d0f6 beq.n 8002372 <d_type+0x28a>
- 8002384: 0020 movs r0, r4
- 8002386: f7ff feaf bl 80020e8 <d_type>
- 800238a: 1e03 subs r3, r0, #0
- 800238c: d0f1 beq.n 8002372 <d_type+0x28a>
- 800238e: 002a movs r2, r5
- 8002390: 212b movs r1, #43 @ 0x2b
- 8002392: 0020 movs r0, r4
- 8002394: f7ff fa66 bl 8001864 <d_make_comp>
- 8002398: 0005 movs r5, r0
- 800239a: 9000 str r0, [sp, #0]
- 800239c: e709 b.n 80021b2 <d_type+0xca>
- 800239e: 2600 movs r6, #0
- 80023a0: 3001 adds r0, #1
- 80023a2: 60e0 str r0, [r4, #12]
- 80023a4: 0020 movs r0, r4
- 80023a6: f7ff fe9f bl 80020e8 <d_type>
- 80023aa: 0032 movs r2, r6
- 80023ac: 0003 movs r3, r0
- 80023ae: 212a movs r1, #42 @ 0x2a
- 80023b0: 0020 movs r0, r4
- 80023b2: f7ff fa57 bl 8001864 <d_make_comp>
- 80023b6: 0005 movs r5, r0
- 80023b8: 9000 str r0, [sp, #0]
- 80023ba: e6fa b.n 80021b2 <d_type+0xca>
- 80023bc: 2301 movs r3, #1
- 80023be: 6b25 ldr r5, [r4, #48] @ 0x30
- 80023c0: 0020 movs r0, r4
- 80023c2: 6323 str r3, [r4, #48] @ 0x30
- 80023c4: f000 fd76 bl 8002eb4 <d_expression_1>
- 80023c8: 6325 str r5, [r4, #48] @ 0x30
- 80023ca: 0002 movs r2, r0
- 80023cc: 2300 movs r3, #0
- 80023ce: 2144 movs r1, #68 @ 0x44
- 80023d0: 0020 movs r0, r4
- 80023d2: f7ff fa47 bl 8001864 <d_make_comp>
- 80023d6: 1e05 subs r5, r0, #0
- 80023d8: 9000 str r0, [sp, #0]
- 80023da: d0ca beq.n 8002372 <d_type+0x28a>
- 80023dc: 68e3 ldr r3, [r4, #12]
- 80023de: 781a ldrb r2, [r3, #0]
- 80023e0: 2a00 cmp r2, #0
- 80023e2: d0c6 beq.n 8002372 <d_type+0x28a>
- 80023e4: 1c5a adds r2, r3, #1
- 80023e6: 60e2 str r2, [r4, #12]
- 80023e8: 781b ldrb r3, [r3, #0]
- 80023ea: 2b45 cmp r3, #69 @ 0x45
- 80023ec: d100 bne.n 80023f0 <d_type+0x308>
- 80023ee: e6e3 b.n 80021b8 <d_type+0xd0>
- 80023f0: 2000 movs r0, #0
- 80023f2: e6bd b.n 8002170 <d_type+0x88>
- 80023f4: 08014df8 .word 0x08014df8
- 80023f8: 03ec7bff .word 0x03ec7bff
- 80023fc: 08014e4c .word 0x08014e4c
- 8002400: 0020 movs r0, r4
- 8002402: f7ff fa9b bl 800193c <d_number>
- 8002406: 68e3 ldr r3, [r4, #12]
- 8002408: 0002 movs r2, r0
- 800240a: 781d ldrb r5, [r3, #0]
- 800240c: 2d62 cmp r5, #98 @ 0x62
- 800240e: d100 bne.n 8002412 <d_type+0x32a>
- 8002410: e1a1 b.n 8002756 <d_type+0x66e>
- 8002412: 2d78 cmp r5, #120 @ 0x78
- 8002414: d002 beq.n 800241c <d_type+0x334>
- 8002416: 2d5f cmp r5, #95 @ 0x5f
- 8002418: d1ab bne.n 8002372 <d_type+0x28a>
- 800241a: 2500 movs r5, #0
- 800241c: 6961 ldr r1, [r4, #20]
- 800241e: 69a0 ldr r0, [r4, #24]
- 8002420: b217 sxth r7, r2
- 8002422: 3301 adds r3, #1
- 8002424: 4281 cmp r1, r0
- 8002426: db00 blt.n 800242a <d_type+0x342>
- 8002428: e1bf b.n 80027aa <d_type+0x6c2>
- 800242a: 2014 movs r0, #20
- 800242c: 4348 muls r0, r1
- 800242e: 6926 ldr r6, [r4, #16]
- 8002430: 3101 adds r1, #1
- 8002432: 1836 adds r6, r6, r0
- 8002434: 2000 movs r0, #0
- 8002436: 6070 str r0, [r6, #4]
- 8002438: 60b0 str r0, [r6, #8]
- 800243a: 6161 str r1, [r4, #20]
- 800243c: 215c movs r1, #92 @ 0x5c
- 800243e: 7031 strb r1, [r6, #0]
- 8002440: 49de ldr r1, [pc, #888] @ (80027bc <d_type+0x6d4>)
- 8002442: 74b5 strb r5, [r6, #18]
- 8002444: 60f1 str r1, [r6, #12]
- 8002446: 8237 strh r7, [r6, #16]
- 8002448: 49dd ldr r1, [pc, #884] @ (80027c0 <d_type+0x6d8>)
- 800244a: 60e3 str r3, [r4, #12]
- 800244c: a801 add r0, sp, #4
- 800244e: 9600 str r6, [sp, #0]
- 8002450: f008 fc1c bl 800ac8c <sprintf>
- 8002454: 1e69 subs r1, r5, #1
- 8002456: 418d sbcs r5, r1
- 8002458: a801 add r0, sp, #4
- 800245a: f008 fff9 bl 800b450 <strlen>
- 800245e: 68f3 ldr r3, [r6, #12]
- 8002460: 6ae2 ldr r2, [r4, #44] @ 0x2c
- 8002462: 685b ldr r3, [r3, #4]
- 8002464: 189b adds r3, r3, r2
- 8002466: 195b adds r3, r3, r5
- 8002468: 1818 adds r0, r3, r0
- 800246a: 62e0 str r0, [r4, #44] @ 0x2c
- 800246c: 9800 ldr r0, [sp, #0]
- 800246e: e67f b.n 8002170 <d_type+0x88>
- 8002470: 6963 ldr r3, [r4, #20]
- 8002472: 69a2 ldr r2, [r4, #24]
- 8002474: 4293 cmp r3, r2
- 8002476: db00 blt.n 800247a <d_type+0x392>
- 8002478: e19c b.n 80027b4 <d_type+0x6cc>
- 800247a: 009a lsls r2, r3, #2
- 800247c: 6920 ldr r0, [r4, #16]
- 800247e: 18d2 adds r2, r2, r3
- 8002480: 0092 lsls r2, r2, #2
- 8002482: 1880 adds r0, r0, r2
- 8002484: 2200 movs r2, #0
- 8002486: 3301 adds r3, #1
- 8002488: 6042 str r2, [r0, #4]
- 800248a: 6082 str r2, [r0, #8]
- 800248c: 6163 str r3, [r4, #20]
- 800248e: 2327 movs r3, #39 @ 0x27
- 8002490: 7003 strb r3, [r0, #0]
- 8002492: 4bcc ldr r3, [pc, #816] @ (80027c4 <d_type+0x6dc>)
- 8002494: 60c3 str r3, [r0, #12]
- 8002496: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002498: 330a adds r3, #10
- 800249a: 62e3 str r3, [r4, #44] @ 0x2c
- 800249c: e668 b.n 8002170 <d_type+0x88>
- 800249e: 78ab ldrb r3, [r5, #2]
- 80024a0: 2b5f cmp r3, #95 @ 0x5f
- 80024a2: d100 bne.n 80024a6 <d_type+0x3be>
- 80024a4: e171 b.n 800278a <d_type+0x6a2>
- 80024a6: 6963 ldr r3, [r4, #20]
- 80024a8: 69a2 ldr r2, [r4, #24]
- 80024aa: 4293 cmp r3, r2
- 80024ac: db00 blt.n 80024b0 <d_type+0x3c8>
- 80024ae: e760 b.n 8002372 <d_type+0x28a>
- 80024b0: 009a lsls r2, r3, #2
- 80024b2: 6925 ldr r5, [r4, #16]
- 80024b4: 18d2 adds r2, r2, r3
- 80024b6: 0092 lsls r2, r2, #2
- 80024b8: 18ad adds r5, r5, r2
- 80024ba: 2200 movs r2, #0
- 80024bc: 3301 adds r3, #1
- 80024be: 606a str r2, [r5, #4]
- 80024c0: 60aa str r2, [r5, #8]
- 80024c2: 6163 str r3, [r4, #20]
- 80024c4: 2343 movs r3, #67 @ 0x43
- 80024c6: 0020 movs r0, r4
- 80024c8: 702b strb r3, [r5, #0]
- 80024ca: f7ff fa37 bl 800193c <d_number>
- 80024ce: 60e8 str r0, [r5, #12]
- 80024d0: 68e3 ldr r3, [r4, #12]
- 80024d2: 781a ldrb r2, [r3, #0]
- 80024d4: 2a5f cmp r2, #95 @ 0x5f
- 80024d6: d000 beq.n 80024da <d_type+0x3f2>
- 80024d8: e74b b.n 8002372 <d_type+0x28a>
- 80024da: 3301 adds r3, #1
- 80024dc: 60e3 str r3, [r4, #12]
- 80024de: 0020 movs r0, r4
- 80024e0: f7ff fe02 bl 80020e8 <d_type>
- 80024e4: 002a movs r2, r5
- 80024e6: 0003 movs r3, r0
- 80024e8: 212d movs r1, #45 @ 0x2d
- 80024ea: 0020 movs r0, r4
- 80024ec: f7ff f9ba bl 8001864 <d_make_comp>
- 80024f0: 0005 movs r5, r0
- 80024f2: 9000 str r0, [sp, #0]
- 80024f4: e65d b.n 80021b2 <d_type+0xca>
- 80024f6: 6963 ldr r3, [r4, #20]
- 80024f8: 69a2 ldr r2, [r4, #24]
- 80024fa: 4293 cmp r3, r2
- 80024fc: db00 blt.n 8002500 <d_type+0x418>
- 80024fe: e738 b.n 8002372 <d_type+0x28a>
- 8002500: 009a lsls r2, r3, #2
- 8002502: 18d2 adds r2, r2, r3
- 8002504: 3301 adds r3, #1
- 8002506: 6163 str r3, [r4, #20]
- 8002508: 2300 movs r3, #0
- 800250a: 6920 ldr r0, [r4, #16]
- 800250c: 0092 lsls r2, r2, #2
- 800250e: 1880 adds r0, r0, r2
- 8002510: 6043 str r3, [r0, #4]
- 8002512: 6083 str r3, [r0, #8]
- 8002514: 7003 strb r3, [r0, #0]
- 8002516: 4bac ldr r3, [pc, #688] @ (80027c8 <d_type+0x6e0>)
- 8002518: 60c3 str r3, [r0, #12]
- 800251a: 230e movs r3, #14
- 800251c: 6103 str r3, [r0, #16]
- 800251e: e627 b.n 8002170 <d_type+0x88>
- 8002520: 6963 ldr r3, [r4, #20]
- 8002522: 69a2 ldr r2, [r4, #24]
- 8002524: 4293 cmp r3, r2
- 8002526: db00 blt.n 800252a <d_type+0x442>
- 8002528: e144 b.n 80027b4 <d_type+0x6cc>
- 800252a: 009a lsls r2, r3, #2
- 800252c: 6920 ldr r0, [r4, #16]
- 800252e: 18d2 adds r2, r2, r3
- 8002530: 0092 lsls r2, r2, #2
- 8002532: 1880 adds r0, r0, r2
- 8002534: 2200 movs r2, #0
- 8002536: 3301 adds r3, #1
- 8002538: 6042 str r2, [r0, #4]
- 800253a: 6082 str r2, [r0, #8]
- 800253c: 6163 str r3, [r4, #20]
- 800253e: 2327 movs r3, #39 @ 0x27
- 8002540: 7003 strb r3, [r0, #0]
- 8002542: 4ba2 ldr r3, [pc, #648] @ (80027cc <d_type+0x6e4>)
- 8002544: 60c3 str r3, [r0, #12]
- 8002546: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002548: 3311 adds r3, #17
- 800254a: 62e3 str r3, [r4, #44] @ 0x2c
- 800254c: e610 b.n 8002170 <d_type+0x88>
- 800254e: 6963 ldr r3, [r4, #20]
- 8002550: 69a2 ldr r2, [r4, #24]
- 8002552: 4293 cmp r3, r2
- 8002554: db00 blt.n 8002558 <d_type+0x470>
- 8002556: e12d b.n 80027b4 <d_type+0x6cc>
- 8002558: 009a lsls r2, r3, #2
- 800255a: 6920 ldr r0, [r4, #16]
- 800255c: 18d2 adds r2, r2, r3
- 800255e: 0092 lsls r2, r2, #2
- 8002560: 1880 adds r0, r0, r2
- 8002562: 2200 movs r2, #0
- 8002564: 3301 adds r3, #1
- 8002566: 6042 str r2, [r0, #4]
- 8002568: 6082 str r2, [r0, #8]
- 800256a: 6163 str r3, [r4, #20]
- 800256c: 2327 movs r3, #39 @ 0x27
- 800256e: 7003 strb r3, [r0, #0]
- 8002570: 4b97 ldr r3, [pc, #604] @ (80027d0 <d_type+0x6e8>)
- 8002572: 60c3 str r3, [r0, #12]
- 8002574: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002576: 3308 adds r3, #8
- 8002578: 62e3 str r3, [r4, #44] @ 0x2c
- 800257a: e5f9 b.n 8002170 <d_type+0x88>
- 800257c: 6963 ldr r3, [r4, #20]
- 800257e: 69a2 ldr r2, [r4, #24]
- 8002580: 4293 cmp r3, r2
- 8002582: db00 blt.n 8002586 <d_type+0x49e>
- 8002584: e116 b.n 80027b4 <d_type+0x6cc>
- 8002586: 009a lsls r2, r3, #2
- 8002588: 6920 ldr r0, [r4, #16]
- 800258a: 18d2 adds r2, r2, r3
- 800258c: 0092 lsls r2, r2, #2
- 800258e: 1880 adds r0, r0, r2
- 8002590: 2200 movs r2, #0
- 8002592: 3301 adds r3, #1
- 8002594: 6042 str r2, [r0, #4]
- 8002596: 6082 str r2, [r0, #8]
- 8002598: 6163 str r3, [r4, #20]
- 800259a: 2327 movs r3, #39 @ 0x27
- 800259c: 7003 strb r3, [r0, #0]
- 800259e: 4b8d ldr r3, [pc, #564] @ (80027d4 <d_type+0x6ec>)
- 80025a0: 60c3 str r3, [r0, #12]
- 80025a2: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 80025a4: 3304 adds r3, #4
- 80025a6: 62e3 str r3, [r4, #44] @ 0x2c
- 80025a8: e5e2 b.n 8002170 <d_type+0x88>
- 80025aa: 6963 ldr r3, [r4, #20]
- 80025ac: 69a2 ldr r2, [r4, #24]
- 80025ae: 4293 cmp r3, r2
- 80025b0: db00 blt.n 80025b4 <d_type+0x4cc>
- 80025b2: e0ff b.n 80027b4 <d_type+0x6cc>
- 80025b4: 009a lsls r2, r3, #2
- 80025b6: 6920 ldr r0, [r4, #16]
- 80025b8: 18d2 adds r2, r2, r3
- 80025ba: 0092 lsls r2, r2, #2
- 80025bc: 1880 adds r0, r0, r2
- 80025be: 2200 movs r2, #0
- 80025c0: 3301 adds r3, #1
- 80025c2: 6042 str r2, [r0, #4]
- 80025c4: 6082 str r2, [r0, #8]
- 80025c6: 6163 str r3, [r4, #20]
- 80025c8: 2327 movs r3, #39 @ 0x27
- 80025ca: 7003 strb r3, [r0, #0]
- 80025cc: 4b82 ldr r3, [pc, #520] @ (80027d8 <d_type+0x6f0>)
- 80025ce: 60c3 str r3, [r0, #12]
- 80025d0: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 80025d2: 3309 adds r3, #9
- 80025d4: 62e3 str r3, [r4, #44] @ 0x2c
- 80025d6: e5cb b.n 8002170 <d_type+0x88>
- 80025d8: 6963 ldr r3, [r4, #20]
- 80025da: 69a2 ldr r2, [r4, #24]
- 80025dc: 4293 cmp r3, r2
- 80025de: db00 blt.n 80025e2 <d_type+0x4fa>
- 80025e0: e0e8 b.n 80027b4 <d_type+0x6cc>
- 80025e2: 009a lsls r2, r3, #2
- 80025e4: 6920 ldr r0, [r4, #16]
- 80025e6: 18d2 adds r2, r2, r3
- 80025e8: 0092 lsls r2, r2, #2
- 80025ea: 1880 adds r0, r0, r2
- 80025ec: 2200 movs r2, #0
- 80025ee: 3301 adds r3, #1
- 80025f0: 6042 str r2, [r0, #4]
- 80025f2: 6082 str r2, [r0, #8]
- 80025f4: 6163 str r3, [r4, #20]
- 80025f6: 2327 movs r3, #39 @ 0x27
- 80025f8: 7003 strb r3, [r0, #0]
- 80025fa: 4b78 ldr r3, [pc, #480] @ (80027dc <d_type+0x6f4>)
- 80025fc: 60c3 str r3, [r0, #12]
- 80025fe: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002600: 3308 adds r3, #8
- 8002602: 62e3 str r3, [r4, #44] @ 0x2c
- 8002604: e5b4 b.n 8002170 <d_type+0x88>
- 8002606: 0020 movs r0, r4
- 8002608: f7ff fd6e bl 80020e8 <d_type>
- 800260c: 2300 movs r3, #0
- 800260e: 0002 movs r2, r0
- 8002610: 214c movs r1, #76 @ 0x4c
- 8002612: 0020 movs r0, r4
- 8002614: f7ff f926 bl 8001864 <d_make_comp>
- 8002618: 0005 movs r5, r0
- 800261a: 9000 str r0, [sp, #0]
- 800261c: e5c9 b.n 80021b2 <d_type+0xca>
- 800261e: 6963 ldr r3, [r4, #20]
- 8002620: 69a2 ldr r2, [r4, #24]
- 8002622: 4293 cmp r3, r2
- 8002624: db00 blt.n 8002628 <d_type+0x540>
- 8002626: e0c5 b.n 80027b4 <d_type+0x6cc>
- 8002628: 009a lsls r2, r3, #2
- 800262a: 6920 ldr r0, [r4, #16]
- 800262c: 18d2 adds r2, r2, r3
- 800262e: 0092 lsls r2, r2, #2
- 8002630: 1880 adds r0, r0, r2
- 8002632: 2200 movs r2, #0
- 8002634: 3301 adds r3, #1
- 8002636: 6042 str r2, [r0, #4]
- 8002638: 6082 str r2, [r0, #8]
- 800263a: 6163 str r3, [r4, #20]
- 800263c: 2327 movs r3, #39 @ 0x27
- 800263e: 7003 strb r3, [r0, #0]
- 8002640: 4b67 ldr r3, [pc, #412] @ (80027e0 <d_type+0x6f8>)
- 8002642: 60c3 str r3, [r0, #12]
- 8002644: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002646: 3307 adds r3, #7
- 8002648: 62e3 str r3, [r4, #44] @ 0x2c
- 800264a: e591 b.n 8002170 <d_type+0x88>
- 800264c: 6963 ldr r3, [r4, #20]
- 800264e: 69a2 ldr r2, [r4, #24]
- 8002650: 4293 cmp r3, r2
- 8002652: db00 blt.n 8002656 <d_type+0x56e>
- 8002654: e0ae b.n 80027b4 <d_type+0x6cc>
- 8002656: 009a lsls r2, r3, #2
- 8002658: 6920 ldr r0, [r4, #16]
- 800265a: 18d2 adds r2, r2, r3
- 800265c: 0092 lsls r2, r2, #2
- 800265e: 1880 adds r0, r0, r2
- 8002660: 2200 movs r2, #0
- 8002662: 3301 adds r3, #1
- 8002664: 6042 str r2, [r0, #4]
- 8002666: 6082 str r2, [r0, #8]
- 8002668: 6163 str r3, [r4, #20]
- 800266a: 2327 movs r3, #39 @ 0x27
- 800266c: 7003 strb r3, [r0, #0]
- 800266e: 4b5d ldr r3, [pc, #372] @ (80027e4 <d_type+0x6fc>)
- 8002670: 60c3 str r3, [r0, #12]
- 8002672: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002674: 3309 adds r3, #9
- 8002676: 62e3 str r3, [r4, #44] @ 0x2c
- 8002678: e57a b.n 8002170 <d_type+0x88>
- 800267a: 6963 ldr r3, [r4, #20]
- 800267c: 69a2 ldr r2, [r4, #24]
- 800267e: 4293 cmp r3, r2
- 8002680: db00 blt.n 8002684 <d_type+0x59c>
- 8002682: e676 b.n 8002372 <d_type+0x28a>
- 8002684: 009a lsls r2, r3, #2
- 8002686: 18d2 adds r2, r2, r3
- 8002688: 3301 adds r3, #1
- 800268a: 6163 str r3, [r4, #20]
- 800268c: 2300 movs r3, #0
- 800268e: 6920 ldr r0, [r4, #16]
- 8002690: 0092 lsls r2, r2, #2
- 8002692: 1880 adds r0, r0, r2
- 8002694: 6043 str r3, [r0, #4]
- 8002696: 6083 str r3, [r0, #8]
- 8002698: 7003 strb r3, [r0, #0]
- 800269a: 4b53 ldr r3, [pc, #332] @ (80027e8 <d_type+0x700>)
- 800269c: 60c3 str r3, [r0, #12]
- 800269e: 2304 movs r3, #4
- 80026a0: 6103 str r3, [r0, #16]
- 80026a2: e565 b.n 8002170 <d_type+0x88>
- 80026a4: 0099 lsls r1, r3, #2
- 80026a6: 18cb adds r3, r1, r3
- 80026a8: 4e50 ldr r6, [pc, #320] @ (80027ec <d_type+0x704>)
- 80026aa: 009b lsls r3, r3, #2
- 80026ac: 199e adds r6, r3, r6
- 80026ae: 69a1 ldr r1, [r4, #24]
- 80026b0: 6963 ldr r3, [r4, #20]
- 80026b2: 428b cmp r3, r1
- 80026b4: da77 bge.n 80027a6 <d_type+0x6be>
- 80026b6: 0099 lsls r1, r3, #2
- 80026b8: 6920 ldr r0, [r4, #16]
- 80026ba: 18c9 adds r1, r1, r3
- 80026bc: 0089 lsls r1, r1, #2
- 80026be: 1840 adds r0, r0, r1
- 80026c0: 3301 adds r3, #1
- 80026c2: 6042 str r2, [r0, #4]
- 80026c4: 6082 str r2, [r0, #8]
- 80026c6: 6163 str r3, [r4, #20]
- 80026c8: 2327 movs r3, #39 @ 0x27
- 80026ca: 7003 strb r3, [r0, #0]
- 80026cc: 6873 ldr r3, [r6, #4]
- 80026ce: 6ae2 ldr r2, [r4, #44] @ 0x2c
- 80026d0: 3501 adds r5, #1
- 80026d2: 18d3 adds r3, r2, r3
- 80026d4: 60c6 str r6, [r0, #12]
- 80026d6: 62e3 str r3, [r4, #44] @ 0x2c
- 80026d8: 60e5 str r5, [r4, #12]
- 80026da: e549 b.n 8002170 <d_type+0x88>
- 80026dc: 3101 adds r1, #1
- 80026de: 60e1 str r1, [r4, #12]
- 80026e0: 0020 movs r0, r4
- 80026e2: f001 fc15 bl 8003f10 <d_template_args_1>
- 80026e6: 0032 movs r2, r6
- 80026e8: 0003 movs r3, r0
- 80026ea: 2104 movs r1, #4
- 80026ec: 0020 movs r0, r4
- 80026ee: f7ff f8b9 bl 8001864 <d_make_comp>
- 80026f2: 0006 movs r6, r0
- 80026f4: e606 b.n 8002304 <d_type+0x21c>
- 80026f6: 2301 movs r3, #1
- 80026f8: 6b25 ldr r5, [r4, #48] @ 0x30
- 80026fa: 0020 movs r0, r4
- 80026fc: 6323 str r3, [r4, #48] @ 0x30
- 80026fe: f000 fbd9 bl 8002eb4 <d_expression_1>
- 8002702: 6325 str r5, [r4, #48] @ 0x30
- 8002704: 1e06 subs r6, r0, #0
- 8002706: d100 bne.n 800270a <d_type+0x622>
- 8002708: e633 b.n 8002372 <d_type+0x28a>
- 800270a: 68e0 ldr r0, [r4, #12]
- 800270c: 7803 ldrb r3, [r0, #0]
- 800270e: e62e b.n 800236e <d_type+0x286>
- 8002710: 6963 ldr r3, [r4, #20]
- 8002712: 0020 movs r0, r4
- 8002714: 4699 mov r9, r3
- 8002716: 6a23 ldr r3, [r4, #32]
- 8002718: 6ae7 ldr r7, [r4, #44] @ 0x2c
- 800271a: 4698 mov r8, r3
- 800271c: 1c73 adds r3, r6, #1
- 800271e: 60e3 str r3, [r4, #12]
- 8002720: f001 fbf6 bl 8003f10 <d_template_args_1>
- 8002724: 68e2 ldr r2, [r4, #12]
- 8002726: 7812 ldrb r2, [r2, #0]
- 8002728: 2a49 cmp r2, #73 @ 0x49
- 800272a: d006 beq.n 800273a <d_type+0x652>
- 800272c: 464b mov r3, r9
- 800272e: 6163 str r3, [r4, #20]
- 8002730: 4643 mov r3, r8
- 8002732: 60e6 str r6, [r4, #12]
- 8002734: 6223 str r3, [r4, #32]
- 8002736: 62e7 str r7, [r4, #44] @ 0x2c
- 8002738: e53b b.n 80021b2 <d_type+0xca>
- 800273a: 2d00 cmp r5, #0
- 800273c: d100 bne.n 8002740 <d_type+0x658>
- 800273e: e618 b.n 8002372 <d_type+0x28a>
- 8002740: 6a23 ldr r3, [r4, #32]
- 8002742: 6a62 ldr r2, [r4, #36] @ 0x24
- 8002744: 4293 cmp r3, r2
- 8002746: db00 blt.n 800274a <d_type+0x662>
- 8002748: e613 b.n 8002372 <d_type+0x28a>
- 800274a: 69e2 ldr r2, [r4, #28]
- 800274c: 0099 lsls r1, r3, #2
- 800274e: 3301 adds r3, #1
- 8002750: 508d str r5, [r1, r2]
- 8002752: 6223 str r3, [r4, #32]
- 8002754: e5c1 b.n 80022da <d_type+0x1f2>
- 8002756: 2810 cmp r0, #16
- 8002758: d000 beq.n 800275c <d_type+0x674>
- 800275a: e60a b.n 8002372 <d_type+0x28a>
- 800275c: 3301 adds r3, #1
- 800275e: 60e3 str r3, [r4, #12]
- 8002760: 6962 ldr r2, [r4, #20]
- 8002762: 69a3 ldr r3, [r4, #24]
- 8002764: 429a cmp r2, r3
- 8002766: da25 bge.n 80027b4 <d_type+0x6cc>
- 8002768: 2114 movs r1, #20
- 800276a: 4351 muls r1, r2
- 800276c: 6923 ldr r3, [r4, #16]
- 800276e: 3201 adds r2, #1
- 8002770: 185b adds r3, r3, r1
- 8002772: 2100 movs r1, #0
- 8002774: 6059 str r1, [r3, #4]
- 8002776: 6099 str r1, [r3, #8]
- 8002778: 6162 str r2, [r4, #20]
- 800277a: 2227 movs r2, #39 @ 0x27
- 800277c: 701a strb r2, [r3, #0]
- 800277e: 6ae0 ldr r0, [r4, #44] @ 0x2c
- 8002780: 4a1b ldr r2, [pc, #108] @ (80027f0 <d_type+0x708>)
- 8002782: 9300 str r3, [sp, #0]
- 8002784: 60da str r2, [r3, #12]
- 8002786: 300f adds r0, #15
- 8002788: e66f b.n 800246a <d_type+0x382>
- 800278a: 3503 adds r5, #3
- 800278c: 3b5e subs r3, #94 @ 0x5e
- 800278e: 6b26 ldr r6, [r4, #48] @ 0x30
- 8002790: 60e5 str r5, [r4, #12]
- 8002792: 0020 movs r0, r4
- 8002794: 6323 str r3, [r4, #48] @ 0x30
- 8002796: f000 fb8d bl 8002eb4 <d_expression_1>
- 800279a: 6326 str r6, [r4, #48] @ 0x30
- 800279c: 1e05 subs r5, r0, #0
- 800279e: d000 beq.n 80027a2 <d_type+0x6ba>
- 80027a0: e696 b.n 80024d0 <d_type+0x3e8>
- 80027a2: 2000 movs r0, #0
- 80027a4: e4e4 b.n 8002170 <d_type+0x88>
- 80027a6: 68d3 ldr r3, [r2, #12]
- 80027a8: deff udf #255 @ 0xff
- 80027aa: 4905 ldr r1, [pc, #20] @ (80027c0 <d_type+0x6d8>)
- 80027ac: 60e3 str r3, [r4, #12]
- 80027ae: a801 add r0, sp, #4
- 80027b0: f008 fa6c bl 800ac8c <sprintf>
- 80027b4: 2300 movs r3, #0
- 80027b6: 68db ldr r3, [r3, #12]
- 80027b8: deff udf #255 @ 0xff
- 80027ba: 46c0 nop @ (mov r8, r8)
- 80027bc: 08015b24 .word 0x08015b24
- 80027c0: 080140e4 .word 0x080140e4
- 80027c4: 08015aac .word 0x08015aac
- 80027c8: 08014114 .word 0x08014114
- 80027cc: 08015b10 .word 0x08015b10
- 80027d0: 08015afc .word 0x08015afc
- 80027d4: 08015ac0 .word 0x08015ac0
- 80027d8: 08015a84 .word 0x08015a84
- 80027dc: 08015ae8 .word 0x08015ae8
- 80027e0: 08015ad4 .word 0x08015ad4
- 80027e4: 08015a98 .word 0x08015a98
- 80027e8: 0801410c .word 0x0801410c
- 80027ec: 0801587c .word 0x0801587c
- 80027f0: 08015b38 .word 0x08015b38
- 080027f4 <d_parmlist>:
- 80027f4: 2300 movs r3, #0
- 80027f6: b530 push {r4, r5, lr}
- 80027f8: 68c2 ldr r2, [r0, #12]
- 80027fa: b083 sub sp, #12
- 80027fc: 9301 str r3, [sp, #4]
- 80027fe: 7813 ldrb r3, [r2, #0]
- 8002800: 0004 movs r4, r0
- 8002802: ad01 add r5, sp, #4
- 8002804: 2b00 cmp r3, #0
- 8002806: d115 bne.n 8002834 <d_parmlist+0x40>
- 8002808: e025 b.n 8002856 <d_parmlist+0x62>
- 800280a: 2b4f cmp r3, #79 @ 0x4f
- 800280c: d018 beq.n 8002840 <d_parmlist+0x4c>
- 800280e: 0020 movs r0, r4
- 8002810: f7ff fc6a bl 80020e8 <d_type>
- 8002814: 1e02 subs r2, r0, #0
- 8002816: d01e beq.n 8002856 <d_parmlist+0x62>
- 8002818: 2300 movs r3, #0
- 800281a: 212e movs r1, #46 @ 0x2e
- 800281c: 0020 movs r0, r4
- 800281e: f7ff f821 bl 8001864 <d_make_comp>
- 8002822: 6028 str r0, [r5, #0]
- 8002824: 2800 cmp r0, #0
- 8002826: d016 beq.n 8002856 <d_parmlist+0x62>
- 8002828: 68e2 ldr r2, [r4, #12]
- 800282a: 3010 adds r0, #16
- 800282c: 7813 ldrb r3, [r2, #0]
- 800282e: 0005 movs r5, r0
- 8002830: 2b00 cmp r3, #0
- 8002832: d008 beq.n 8002846 <d_parmlist+0x52>
- 8002834: 2b45 cmp r3, #69 @ 0x45
- 8002836: d006 beq.n 8002846 <d_parmlist+0x52>
- 8002838: 2b2e cmp r3, #46 @ 0x2e
- 800283a: d004 beq.n 8002846 <d_parmlist+0x52>
- 800283c: 2b52 cmp r3, #82 @ 0x52
- 800283e: d1e4 bne.n 800280a <d_parmlist+0x16>
- 8002840: 7853 ldrb r3, [r2, #1]
- 8002842: 2b45 cmp r3, #69 @ 0x45
- 8002844: d1e3 bne.n 800280e <d_parmlist+0x1a>
- 8002846: 9801 ldr r0, [sp, #4]
- 8002848: 2800 cmp r0, #0
- 800284a: d004 beq.n 8002856 <d_parmlist+0x62>
- 800284c: 6903 ldr r3, [r0, #16]
- 800284e: 2b00 cmp r3, #0
- 8002850: d003 beq.n 800285a <d_parmlist+0x66>
- 8002852: b003 add sp, #12
- 8002854: bd30 pop {r4, r5, pc}
- 8002856: 2000 movs r0, #0
- 8002858: e7fb b.n 8002852 <d_parmlist+0x5e>
- 800285a: 68c2 ldr r2, [r0, #12]
- 800285c: 7811 ldrb r1, [r2, #0]
- 800285e: 2927 cmp r1, #39 @ 0x27
- 8002860: d1f7 bne.n 8002852 <d_parmlist+0x5e>
- 8002862: 68d2 ldr r2, [r2, #12]
- 8002864: 7c11 ldrb r1, [r2, #16]
- 8002866: 2909 cmp r1, #9
- 8002868: d1f3 bne.n 8002852 <d_parmlist+0x5e>
- 800286a: 6ae1 ldr r1, [r4, #44] @ 0x2c
- 800286c: 6852 ldr r2, [r2, #4]
- 800286e: 1a8a subs r2, r1, r2
- 8002870: 62e2 str r2, [r4, #44] @ 0x2c
- 8002872: 60c3 str r3, [r0, #12]
- 8002874: e7ed b.n 8002852 <d_parmlist+0x5e>
- 8002876: 46c0 nop @ (mov r8, r8)
- 08002878 <d_bare_function_type>:
- 8002878: b570 push {r4, r5, r6, lr}
- 800287a: 68c3 ldr r3, [r0, #12]
- 800287c: 0004 movs r4, r0
- 800287e: 781a ldrb r2, [r3, #0]
- 8002880: 2a4a cmp r2, #74 @ 0x4a
- 8002882: d019 beq.n 80028b8 <d_bare_function_type+0x40>
- 8002884: 2900 cmp r1, #0
- 8002886: d00f beq.n 80028a8 <d_bare_function_type+0x30>
- 8002888: 0020 movs r0, r4
- 800288a: f7ff fc2d bl 80020e8 <d_type>
- 800288e: 1e05 subs r5, r0, #0
- 8002890: d010 beq.n 80028b4 <d_bare_function_type+0x3c>
- 8002892: 0020 movs r0, r4
- 8002894: f7ff ffae bl 80027f4 <d_parmlist>
- 8002898: 1e03 subs r3, r0, #0
- 800289a: d00b beq.n 80028b4 <d_bare_function_type+0x3c>
- 800289c: 002a movs r2, r5
- 800289e: 2129 movs r1, #41 @ 0x29
- 80028a0: 0020 movs r0, r4
- 80028a2: f7fe ffdf bl 8001864 <d_make_comp>
- 80028a6: bd70 pop {r4, r5, r6, pc}
- 80028a8: 0020 movs r0, r4
- 80028aa: f7ff ffa3 bl 80027f4 <d_parmlist>
- 80028ae: 2500 movs r5, #0
- 80028b0: 1e03 subs r3, r0, #0
- 80028b2: d1f3 bne.n 800289c <d_bare_function_type+0x24>
- 80028b4: 2000 movs r0, #0
- 80028b6: e7f6 b.n 80028a6 <d_bare_function_type+0x2e>
- 80028b8: 3301 adds r3, #1
- 80028ba: 60c3 str r3, [r0, #12]
- 80028bc: e7e4 b.n 8002888 <d_bare_function_type+0x10>
- 80028be: 46c0 nop @ (mov r8, r8)
- 080028c0 <d_function_type>:
- 80028c0: 6883 ldr r3, [r0, #8]
- 80028c2: b570 push {r4, r5, r6, lr}
- 80028c4: 0004 movs r4, r0
- 80028c6: 035b lsls r3, r3, #13
- 80028c8: d40d bmi.n 80028e6 <d_function_type+0x26>
- 80028ca: 2380 movs r3, #128 @ 0x80
- 80028cc: 6bc2 ldr r2, [r0, #60] @ 0x3c
- 80028ce: 011b lsls r3, r3, #4
- 80028d0: 429a cmp r2, r3
- 80028d2: d80c bhi.n 80028ee <d_function_type+0x2e>
- 80028d4: 1c53 adds r3, r2, #1
- 80028d6: 63c3 str r3, [r0, #60] @ 0x3c
- 80028d8: 68c3 ldr r3, [r0, #12]
- 80028da: 2000 movs r0, #0
- 80028dc: 7819 ldrb r1, [r3, #0]
- 80028de: 2946 cmp r1, #70 @ 0x46
- 80028e0: d007 beq.n 80028f2 <d_function_type+0x32>
- 80028e2: 63e2 str r2, [r4, #60] @ 0x3c
- 80028e4: e004 b.n 80028f0 <d_function_type+0x30>
- 80028e6: 68c3 ldr r3, [r0, #12]
- 80028e8: 781a ldrb r2, [r3, #0]
- 80028ea: 2a46 cmp r2, #70 @ 0x46
- 80028ec: d001 beq.n 80028f2 <d_function_type+0x32>
- 80028ee: 2000 movs r0, #0
- 80028f0: bd70 pop {r4, r5, r6, pc}
- 80028f2: 1c5a adds r2, r3, #1
- 80028f4: 60e2 str r2, [r4, #12]
- 80028f6: 785a ldrb r2, [r3, #1]
- 80028f8: 2a59 cmp r2, #89 @ 0x59
- 80028fa: d101 bne.n 8002900 <d_function_type+0x40>
- 80028fc: 3302 adds r3, #2
- 80028fe: 60e3 str r3, [r4, #12]
- 8002900: 2101 movs r1, #1
- 8002902: 0020 movs r0, r4
- 8002904: f7ff ffb8 bl 8002878 <d_bare_function_type>
- 8002908: 68e5 ldr r5, [r4, #12]
- 800290a: 782b ldrb r3, [r5, #0]
- 800290c: 2b52 cmp r3, #82 @ 0x52
- 800290e: d01d beq.n 800294c <d_function_type+0x8c>
- 8002910: 2b4f cmp r3, #79 @ 0x4f
- 8002912: d009 beq.n 8002928 <d_function_type+0x68>
- 8002914: 2b45 cmp r3, #69 @ 0x45
- 8002916: d016 beq.n 8002946 <d_function_type+0x86>
- 8002918: 2000 movs r0, #0
- 800291a: 68a3 ldr r3, [r4, #8]
- 800291c: 035b lsls r3, r3, #13
- 800291e: d4e7 bmi.n 80028f0 <d_function_type+0x30>
- 8002920: 6be2 ldr r2, [r4, #60] @ 0x3c
- 8002922: 3a01 subs r2, #1
- 8002924: 63e2 str r2, [r4, #60] @ 0x3c
- 8002926: e7e3 b.n 80028f0 <d_function_type+0x30>
- 8002928: 2120 movs r1, #32
- 800292a: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 800292c: 3303 adds r3, #3
- 800292e: 1c6e adds r6, r5, #1
- 8002930: 0002 movs r2, r0
- 8002932: 62e3 str r3, [r4, #44] @ 0x2c
- 8002934: 0020 movs r0, r4
- 8002936: 2300 movs r3, #0
- 8002938: 60e6 str r6, [r4, #12]
- 800293a: f7fe ff93 bl 8001864 <d_make_comp>
- 800293e: 786b ldrb r3, [r5, #1]
- 8002940: 0035 movs r5, r6
- 8002942: 2b45 cmp r3, #69 @ 0x45
- 8002944: d1e8 bne.n 8002918 <d_function_type+0x58>
- 8002946: 3501 adds r5, #1
- 8002948: 60e5 str r5, [r4, #12]
- 800294a: e7e6 b.n 800291a <d_function_type+0x5a>
- 800294c: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 800294e: 211f movs r1, #31
- 8002950: 3302 adds r3, #2
- 8002952: e7ec b.n 800292e <d_function_type+0x6e>
- 08002954 <d_template_parm>:
- 8002954: b570 push {r4, r5, r6, lr}
- 8002956: 68c3 ldr r3, [r0, #12]
- 8002958: 0004 movs r4, r0
- 800295a: 781a ldrb r2, [r3, #0]
- 800295c: 000d movs r5, r1
- 800295e: 2a54 cmp r2, #84 @ 0x54
- 8002960: d110 bne.n 8002984 <d_template_parm+0x30>
- 8002962: 785a ldrb r2, [r3, #1]
- 8002964: 2a74 cmp r2, #116 @ 0x74
- 8002966: d022 beq.n 80029ae <d_template_parm+0x5a>
- 8002968: d80e bhi.n 8002988 <d_template_parm+0x34>
- 800296a: 2a6e cmp r2, #110 @ 0x6e
- 800296c: d017 beq.n 800299e <d_template_parm+0x4a>
- 800296e: 2a70 cmp r2, #112 @ 0x70
- 8002970: d108 bne.n 8002984 <d_template_parm+0x30>
- 8002972: 3302 adds r3, #2
- 8002974: 60c3 str r3, [r0, #12]
- 8002976: f7ff ffed bl 8002954 <d_template_parm>
- 800297a: 215b movs r1, #91 @ 0x5b
- 800297c: 1e02 subs r2, r0, #0
- 800297e: d109 bne.n 8002994 <d_template_parm+0x40>
- 8002980: 2301 movs r3, #1
- 8002982: 602b str r3, [r5, #0]
- 8002984: 2000 movs r0, #0
- 8002986: e009 b.n 800299c <d_template_parm+0x48>
- 8002988: 2a79 cmp r2, #121 @ 0x79
- 800298a: d1fb bne.n 8002984 <d_template_parm+0x30>
- 800298c: 2158 movs r1, #88 @ 0x58
- 800298e: 2200 movs r2, #0
- 8002990: 3302 adds r3, #2
- 8002992: 60c3 str r3, [r0, #12]
- 8002994: 2300 movs r3, #0
- 8002996: 0020 movs r0, r4
- 8002998: f7fe ff64 bl 8001864 <d_make_comp>
- 800299c: bd70 pop {r4, r5, r6, pc}
- 800299e: 3302 adds r3, #2
- 80029a0: 60c3 str r3, [r0, #12]
- 80029a2: f7ff fba1 bl 80020e8 <d_type>
- 80029a6: 1e02 subs r2, r0, #0
- 80029a8: d0ea beq.n 8002980 <d_template_parm+0x2c>
- 80029aa: 2159 movs r1, #89 @ 0x59
- 80029ac: e7f2 b.n 8002994 <d_template_parm+0x40>
- 80029ae: 3302 adds r3, #2
- 80029b0: 60c3 str r3, [r0, #12]
- 80029b2: f000 f80b bl 80029cc <d_template_head>
- 80029b6: 1e02 subs r2, r0, #0
- 80029b8: d0e2 beq.n 8002980 <d_template_parm+0x2c>
- 80029ba: 68e3 ldr r3, [r4, #12]
- 80029bc: 7819 ldrb r1, [r3, #0]
- 80029be: 2945 cmp r1, #69 @ 0x45
- 80029c0: d1de bne.n 8002980 <d_template_parm+0x2c>
- 80029c2: 3301 adds r3, #1
- 80029c4: 60e3 str r3, [r4, #12]
- 80029c6: 3115 adds r1, #21
- 80029c8: e7e4 b.n 8002994 <d_template_parm+0x40>
- 80029ca: 46c0 nop @ (mov r8, r8)
- 080029cc <d_template_head>:
- 80029cc: 2300 movs r3, #0
- 80029ce: b570 push {r4, r5, r6, lr}
- 80029d0: b082 sub sp, #8
- 80029d2: 0005 movs r5, r0
- 80029d4: 000e movs r6, r1
- 80029d6: 9301 str r3, [sp, #4]
- 80029d8: ac01 add r4, sp, #4
- 80029da: e002 b.n 80029e2 <d_template_head+0x16>
- 80029dc: 6020 str r0, [r4, #0]
- 80029de: 3010 adds r0, #16
- 80029e0: 0004 movs r4, r0
- 80029e2: 0031 movs r1, r6
- 80029e4: 0028 movs r0, r5
- 80029e6: f7ff ffb5 bl 8002954 <d_template_parm>
- 80029ea: 2800 cmp r0, #0
- 80029ec: d1f6 bne.n 80029dc <d_template_head+0x10>
- 80029ee: 9801 ldr r0, [sp, #4]
- 80029f0: 2800 cmp r0, #0
- 80029f2: d005 beq.n 8002a00 <d_template_head+0x34>
- 80029f4: 0002 movs r2, r0
- 80029f6: 2300 movs r3, #0
- 80029f8: 2157 movs r1, #87 @ 0x57
- 80029fa: 0028 movs r0, r5
- 80029fc: f7fe ff32 bl 8001864 <d_make_comp>
- 8002a00: b002 add sp, #8
- 8002a02: bd70 pop {r4, r5, r6, pc}
- 08002a04 <d_operator_name>:
- 8002a04: b5f0 push {r4, r5, r6, r7, lr}
- 8002a06: 46c6 mov lr, r8
- 8002a08: b500 push {lr}
- 8002a0a: 68c3 ldr r3, [r0, #12]
- 8002a0c: 4680 mov r8, r0
- 8002a0e: 781e ldrb r6, [r3, #0]
- 8002a10: 2e00 cmp r6, #0
- 8002a12: d022 beq.n 8002a5a <d_operator_name+0x56>
- 8002a14: 1c5a adds r2, r3, #1
- 8002a16: 60c2 str r2, [r0, #12]
- 8002a18: 785a ldrb r2, [r3, #1]
- 8002a1a: 781e ldrb r6, [r3, #0]
- 8002a1c: 4694 mov ip, r2
- 8002a1e: 2a00 cmp r2, #0
- 8002a20: d11e bne.n 8002a60 <d_operator_name+0x5c>
- 8002a22: 2548 movs r5, #72 @ 0x48
- 8002a24: 2100 movs r1, #0
- 8002a26: 4f3d ldr r7, [pc, #244] @ (8002b1c <d_operator_name+0x118>)
- 8002a28: 1a6a subs r2, r5, r1
- 8002a2a: 0fd3 lsrs r3, r2, #31
- 8002a2c: 189b adds r3, r3, r2
- 8002a2e: 105b asrs r3, r3, #1
- 8002a30: 185b adds r3, r3, r1
- 8002a32: 011a lsls r2, r3, #4
- 8002a34: 18ba adds r2, r7, r2
- 8002a36: 6814 ldr r4, [r2, #0]
- 8002a38: 7820 ldrb r0, [r4, #0]
- 8002a3a: 42b0 cmp r0, r6
- 8002a3c: d007 beq.n 8002a4e <d_operator_name+0x4a>
- 8002a3e: d90a bls.n 8002a56 <d_operator_name+0x52>
- 8002a40: 001d movs r5, r3
- 8002a42: 42a9 cmp r1, r5
- 8002a44: d1f0 bne.n 8002a28 <d_operator_name+0x24>
- 8002a46: 2000 movs r0, #0
- 8002a48: bc80 pop {r7}
- 8002a4a: 46b8 mov r8, r7
- 8002a4c: bdf0 pop {r4, r5, r6, r7, pc}
- 8002a4e: 7860 ldrb r0, [r4, #1]
- 8002a50: 4560 cmp r0, ip
- 8002a52: d046 beq.n 8002ae2 <d_operator_name+0xde>
- 8002a54: d8f4 bhi.n 8002a40 <d_operator_name+0x3c>
- 8002a56: 1c59 adds r1, r3, #1
- 8002a58: e7f3 b.n 8002a42 <d_operator_name+0x3e>
- 8002a5a: 2300 movs r3, #0
- 8002a5c: 469c mov ip, r3
- 8002a5e: e7e0 b.n 8002a22 <d_operator_name+0x1e>
- 8002a60: 1c9a adds r2, r3, #2
- 8002a62: 60c2 str r2, [r0, #12]
- 8002a64: 785b ldrb r3, [r3, #1]
- 8002a66: 469c mov ip, r3
- 8002a68: 2e76 cmp r6, #118 @ 0x76
- 8002a6a: d122 bne.n 8002ab2 <d_operator_name+0xae>
- 8002a6c: 001d movs r5, r3
- 8002a6e: 3d30 subs r5, #48 @ 0x30
- 8002a70: b2eb uxtb r3, r5
- 8002a72: 2b09 cmp r3, #9
- 8002a74: d8d5 bhi.n 8002a22 <d_operator_name+0x1e>
- 8002a76: f7ff f9cf bl 8001e18 <d_source_name>
- 8002a7a: 4643 mov r3, r8
- 8002a7c: 4642 mov r2, r8
- 8002a7e: 695b ldr r3, [r3, #20]
- 8002a80: 6992 ldr r2, [r2, #24]
- 8002a82: 0001 movs r1, r0
- 8002a84: 4293 cmp r3, r2
- 8002a86: dade bge.n 8002a46 <d_operator_name+0x42>
- 8002a88: 4640 mov r0, r8
- 8002a8a: 009a lsls r2, r3, #2
- 8002a8c: 6900 ldr r0, [r0, #16]
- 8002a8e: 18d2 adds r2, r2, r3
- 8002a90: 0092 lsls r2, r2, #2
- 8002a92: 1880 adds r0, r0, r2
- 8002a94: 4644 mov r4, r8
- 8002a96: 2200 movs r2, #0
- 8002a98: 3301 adds r3, #1
- 8002a9a: 6042 str r2, [r0, #4]
- 8002a9c: 6082 str r2, [r0, #8]
- 8002a9e: 6163 str r3, [r4, #20]
- 8002aa0: 2900 cmp r1, #0
- 8002aa2: d0d0 beq.n 8002a46 <d_operator_name+0x42>
- 8002aa4: 2333 movs r3, #51 @ 0x33
- 8002aa6: 6042 str r2, [r0, #4]
- 8002aa8: 6082 str r2, [r0, #8]
- 8002aaa: 7003 strb r3, [r0, #0]
- 8002aac: 60c5 str r5, [r0, #12]
- 8002aae: 6101 str r1, [r0, #16]
- 8002ab0: e7ca b.n 8002a48 <d_operator_name+0x44>
- 8002ab2: 2e63 cmp r6, #99 @ 0x63
- 8002ab4: d1b5 bne.n 8002a22 <d_operator_name+0x1e>
- 8002ab6: 2b76 cmp r3, #118 @ 0x76
- 8002ab8: d1b3 bne.n 8002a22 <d_operator_name+0x1e>
- 8002aba: 6b03 ldr r3, [r0, #48] @ 0x30
- 8002abc: 6b45 ldr r5, [r0, #52] @ 0x34
- 8002abe: 425a negs r2, r3
- 8002ac0: 4153 adcs r3, r2
- 8002ac2: 6343 str r3, [r0, #52] @ 0x34
- 8002ac4: f7ff fb10 bl 80020e8 <d_type>
- 8002ac8: 4643 mov r3, r8
- 8002aca: 6b5b ldr r3, [r3, #52] @ 0x34
- 8002acc: 0002 movs r2, r0
- 8002ace: 2b00 cmp r3, #0
- 8002ad0: d01d beq.n 8002b0e <d_operator_name+0x10a>
- 8002ad2: 2300 movs r3, #0
- 8002ad4: 2135 movs r1, #53 @ 0x35
- 8002ad6: 4640 mov r0, r8
- 8002ad8: f7fe fec4 bl 8001864 <d_make_comp>
- 8002adc: 4643 mov r3, r8
- 8002ade: 635d str r5, [r3, #52] @ 0x34
- 8002ae0: e7b2 b.n 8002a48 <d_operator_name+0x44>
- 8002ae2: 4643 mov r3, r8
- 8002ae4: 4641 mov r1, r8
- 8002ae6: 695b ldr r3, [r3, #20]
- 8002ae8: 6989 ldr r1, [r1, #24]
- 8002aea: 428b cmp r3, r1
- 8002aec: daab bge.n 8002a46 <d_operator_name+0x42>
- 8002aee: 4640 mov r0, r8
- 8002af0: 0099 lsls r1, r3, #2
- 8002af2: 6900 ldr r0, [r0, #16]
- 8002af4: 18c9 adds r1, r1, r3
- 8002af6: 0089 lsls r1, r1, #2
- 8002af8: 1840 adds r0, r0, r1
- 8002afa: 2100 movs r1, #0
- 8002afc: 6041 str r1, [r0, #4]
- 8002afe: 6081 str r1, [r0, #8]
- 8002b00: 4641 mov r1, r8
- 8002b02: 3301 adds r3, #1
- 8002b04: 614b str r3, [r1, #20]
- 8002b06: 2332 movs r3, #50 @ 0x32
- 8002b08: 60c2 str r2, [r0, #12]
- 8002b0a: 7003 strb r3, [r0, #0]
- 8002b0c: e79c b.n 8002a48 <d_operator_name+0x44>
- 8002b0e: 2300 movs r3, #0
- 8002b10: 2134 movs r1, #52 @ 0x34
- 8002b12: 4640 mov r0, r8
- 8002b14: f7fe fea6 bl 8001864 <d_make_comp>
- 8002b18: e7e0 b.n 8002adc <d_operator_name+0xd8>
- 8002b1a: 46c0 nop @ (mov r8, r8)
- 8002b1c: 080153ec .word 0x080153ec
- 08002b20 <d_unqualified_name>:
- 8002b20: b5f0 push {r4, r5, r6, r7, lr}
- 8002b22: 46c6 mov lr, r8
- 8002b24: b500 push {lr}
- 8002b26: b084 sub sp, #16
- 8002b28: 000e movs r6, r1
- 8002b2a: a901 add r1, sp, #4
- 8002b2c: 0004 movs r4, r0
- 8002b2e: 9201 str r2, [sp, #4]
- 8002b30: f7ff faaa bl 8002088 <d_maybe_module_name>
- 8002b34: 2800 cmp r0, #0
- 8002b36: d100 bne.n 8002b3a <d_unqualified_name+0x1a>
- 8002b38: e0d8 b.n 8002cec <d_unqualified_name+0x1cc>
- 8002b3a: 68e2 ldr r2, [r4, #12]
- 8002b3c: 7813 ldrb r3, [r2, #0]
- 8002b3e: 0019 movs r1, r3
- 8002b40: 3930 subs r1, #48 @ 0x30
- 8002b42: 2909 cmp r1, #9
- 8002b44: d976 bls.n 8002c34 <d_unqualified_name+0x114>
- 8002b46: 0019 movs r1, r3
- 8002b48: 3961 subs r1, #97 @ 0x61
- 8002b4a: 2919 cmp r1, #25
- 8002b4c: d828 bhi.n 8002ba0 <d_unqualified_name+0x80>
- 8002b4e: 6b27 ldr r7, [r4, #48] @ 0x30
- 8002b50: 2b6f cmp r3, #111 @ 0x6f
- 8002b52: d100 bne.n 8002b56 <d_unqualified_name+0x36>
- 8002b54: e08d b.n 8002c72 <d_unqualified_name+0x152>
- 8002b56: 0020 movs r0, r4
- 8002b58: f7ff ff54 bl 8002a04 <d_operator_name>
- 8002b5c: 6327 str r7, [r4, #48] @ 0x30
- 8002b5e: 1e05 subs r5, r0, #0
- 8002b60: d100 bne.n 8002b64 <d_unqualified_name+0x44>
- 8002b62: e0a2 b.n 8002caa <d_unqualified_name+0x18a>
- 8002b64: 7803 ldrb r3, [r0, #0]
- 8002b66: 2b32 cmp r3, #50 @ 0x32
- 8002b68: d168 bne.n 8002c3c <d_unqualified_name+0x11c>
- 8002b6a: 68c2 ldr r2, [r0, #12]
- 8002b6c: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002b6e: 6891 ldr r1, [r2, #8]
- 8002b70: 3307 adds r3, #7
- 8002b72: 185b adds r3, r3, r1
- 8002b74: 62e3 str r3, [r4, #44] @ 0x2c
- 8002b76: 6813 ldr r3, [r2, #0]
- 8002b78: 781a ldrb r2, [r3, #0]
- 8002b7a: 2a6c cmp r2, #108 @ 0x6c
- 8002b7c: d15e bne.n 8002c3c <d_unqualified_name+0x11c>
- 8002b7e: 785a ldrb r2, [r3, #1]
- 8002b80: 2a69 cmp r2, #105 @ 0x69
- 8002b82: d15b bne.n 8002c3c <d_unqualified_name+0x11c>
- 8002b84: 789b ldrb r3, [r3, #2]
- 8002b86: 2b00 cmp r3, #0
- 8002b88: d158 bne.n 8002c3c <d_unqualified_name+0x11c>
- 8002b8a: 0020 movs r0, r4
- 8002b8c: f7ff f944 bl 8001e18 <d_source_name>
- 8002b90: 002a movs r2, r5
- 8002b92: 0003 movs r3, r0
- 8002b94: 2137 movs r1, #55 @ 0x37
- 8002b96: 0020 movs r0, r4
- 8002b98: f7fe fe64 bl 8001864 <d_make_comp>
- 8002b9c: 0005 movs r5, r0
- 8002b9e: e04d b.n 8002c3c <d_unqualified_name+0x11c>
- 8002ba0: 2b44 cmp r3, #68 @ 0x44
- 8002ba2: d100 bne.n 8002ba6 <d_unqualified_name+0x86>
- 8002ba4: e06e b.n 8002c84 <d_unqualified_name+0x164>
- 8002ba6: 0019 movs r1, r3
- 8002ba8: 3943 subs r1, #67 @ 0x43
- 8002baa: 2901 cmp r1, #1
- 8002bac: d800 bhi.n 8002bb0 <d_unqualified_name+0x90>
- 8002bae: e0dc b.n 8002d6a <d_unqualified_name+0x24a>
- 8002bb0: 2b4c cmp r3, #76 @ 0x4c
- 8002bb2: d100 bne.n 8002bb6 <d_unqualified_name+0x96>
- 8002bb4: e08e b.n 8002cd4 <d_unqualified_name+0x1b4>
- 8002bb6: 2b55 cmp r3, #85 @ 0x55
- 8002bb8: d000 beq.n 8002bbc <d_unqualified_name+0x9c>
- 8002bba: e097 b.n 8002cec <d_unqualified_name+0x1cc>
- 8002bbc: 7853 ldrb r3, [r2, #1]
- 8002bbe: 2b6c cmp r3, #108 @ 0x6c
- 8002bc0: d100 bne.n 8002bc4 <d_unqualified_name+0xa4>
- 8002bc2: e0e5 b.n 8002d90 <d_unqualified_name+0x270>
- 8002bc4: 2b74 cmp r3, #116 @ 0x74
- 8002bc6: d000 beq.n 8002bca <d_unqualified_name+0xaa>
- 8002bc8: e090 b.n 8002cec <d_unqualified_name+0x1cc>
- 8002bca: 1c53 adds r3, r2, #1
- 8002bcc: 60e3 str r3, [r4, #12]
- 8002bce: 7853 ldrb r3, [r2, #1]
- 8002bd0: 9d01 ldr r5, [sp, #4]
- 8002bd2: 2b74 cmp r3, #116 @ 0x74
- 8002bd4: d169 bne.n 8002caa <d_unqualified_name+0x18a>
- 8002bd6: 1c93 adds r3, r2, #2
- 8002bd8: 60e3 str r3, [r4, #12]
- 8002bda: 7892 ldrb r2, [r2, #2]
- 8002bdc: 2a5f cmp r2, #95 @ 0x5f
- 8002bde: d100 bne.n 8002be2 <d_unqualified_name+0xc2>
- 8002be0: e15b b.n 8002e9a <d_unqualified_name+0x37a>
- 8002be2: 2a6e cmp r2, #110 @ 0x6e
- 8002be4: d100 bne.n 8002be8 <d_unqualified_name+0xc8>
- 8002be6: e15c b.n 8002ea2 <d_unqualified_name+0x382>
- 8002be8: 0020 movs r0, r4
- 8002bea: f7fe fea7 bl 800193c <d_number>
- 8002bee: 3001 adds r0, #1
- 8002bf0: d45b bmi.n 8002caa <d_unqualified_name+0x18a>
- 8002bf2: 68e3 ldr r3, [r4, #12]
- 8002bf4: 781a ldrb r2, [r3, #0]
- 8002bf6: 2a5f cmp r2, #95 @ 0x5f
- 8002bf8: d157 bne.n 8002caa <d_unqualified_name+0x18a>
- 8002bfa: 3301 adds r3, #1
- 8002bfc: 60e3 str r3, [r4, #12]
- 8002bfe: 69a2 ldr r2, [r4, #24]
- 8002c00: 6963 ldr r3, [r4, #20]
- 8002c02: 4293 cmp r3, r2
- 8002c04: da51 bge.n 8002caa <d_unqualified_name+0x18a>
- 8002c06: 009a lsls r2, r3, #2
- 8002c08: 6925 ldr r5, [r4, #16]
- 8002c0a: 18d2 adds r2, r2, r3
- 8002c0c: 0092 lsls r2, r2, #2
- 8002c0e: 18ad adds r5, r5, r2
- 8002c10: 2200 movs r2, #0
- 8002c12: 3301 adds r3, #1
- 8002c14: 606a str r2, [r5, #4]
- 8002c16: 60aa str r2, [r5, #8]
- 8002c18: 6163 str r3, [r4, #20]
- 8002c1a: 2349 movs r3, #73 @ 0x49
- 8002c1c: 702b strb r3, [r5, #0]
- 8002c1e: 6a23 ldr r3, [r4, #32]
- 8002c20: 6a62 ldr r2, [r4, #36] @ 0x24
- 8002c22: 60e8 str r0, [r5, #12]
- 8002c24: 4293 cmp r3, r2
- 8002c26: da40 bge.n 8002caa <d_unqualified_name+0x18a>
- 8002c28: 69e2 ldr r2, [r4, #28]
- 8002c2a: 0099 lsls r1, r3, #2
- 8002c2c: 3301 adds r3, #1
- 8002c2e: 508d str r5, [r1, r2]
- 8002c30: 6223 str r3, [r4, #32]
- 8002c32: e003 b.n 8002c3c <d_unqualified_name+0x11c>
- 8002c34: 0020 movs r0, r4
- 8002c36: f7ff f8ef bl 8001e18 <d_source_name>
- 8002c3a: 0005 movs r5, r0
- 8002c3c: 9b01 ldr r3, [sp, #4]
- 8002c3e: 2b00 cmp r3, #0
- 8002c40: d005 beq.n 8002c4e <d_unqualified_name+0x12e>
- 8002c42: 002a movs r2, r5
- 8002c44: 2155 movs r1, #85 @ 0x55
- 8002c46: 0020 movs r0, r4
- 8002c48: f7fe fe0c bl 8001864 <d_make_comp>
- 8002c4c: 0005 movs r5, r0
- 8002c4e: 68e3 ldr r3, [r4, #12]
- 8002c50: 781a ldrb r2, [r3, #0]
- 8002c52: 2a42 cmp r2, #66 @ 0x42
- 8002c54: d02b beq.n 8002cae <d_unqualified_name+0x18e>
- 8002c56: 2e00 cmp r6, #0
- 8002c58: d006 beq.n 8002c68 <d_unqualified_name+0x148>
- 8002c5a: 002b movs r3, r5
- 8002c5c: 0032 movs r2, r6
- 8002c5e: 2101 movs r1, #1
- 8002c60: 0020 movs r0, r4
- 8002c62: f7fe fdff bl 8001864 <d_make_comp>
- 8002c66: 0005 movs r5, r0
- 8002c68: 0028 movs r0, r5
- 8002c6a: b004 add sp, #16
- 8002c6c: bc80 pop {r7}
- 8002c6e: 46b8 mov r8, r7
- 8002c70: bdf0 pop {r4, r5, r6, r7, pc}
- 8002c72: 7853 ldrb r3, [r2, #1]
- 8002c74: 2b6e cmp r3, #110 @ 0x6e
- 8002c76: d000 beq.n 8002c7a <d_unqualified_name+0x15a>
- 8002c78: e76d b.n 8002b56 <d_unqualified_name+0x36>
- 8002c7a: 2300 movs r3, #0
- 8002c7c: 3202 adds r2, #2
- 8002c7e: 60e2 str r2, [r4, #12]
- 8002c80: 6323 str r3, [r4, #48] @ 0x30
- 8002c82: e768 b.n 8002b56 <d_unqualified_name+0x36>
- 8002c84: 7853 ldrb r3, [r2, #1]
- 8002c86: 2b43 cmp r3, #67 @ 0x43
- 8002c88: d054 beq.n 8002d34 <d_unqualified_name+0x214>
- 8002c8a: 6aa1 ldr r1, [r4, #40] @ 0x28
- 8002c8c: 2900 cmp r1, #0
- 8002c8e: d004 beq.n 8002c9a <d_unqualified_name+0x17a>
- 8002c90: 7808 ldrb r0, [r1, #0]
- 8002c92: 2800 cmp r0, #0
- 8002c94: d071 beq.n 8002d7a <d_unqualified_name+0x25a>
- 8002c96: 2818 cmp r0, #24
- 8002c98: d06f beq.n 8002d7a <d_unqualified_name+0x25a>
- 8002c9a: 3b30 subs r3, #48 @ 0x30
- 8002c9c: b2db uxtb r3, r3
- 8002c9e: 2b05 cmp r3, #5
- 8002ca0: d803 bhi.n 8002caa <d_unqualified_name+0x18a>
- 8002ca2: 4883 ldr r0, [pc, #524] @ (8002eb0 <d_unqualified_name+0x390>)
- 8002ca4: 009b lsls r3, r3, #2
- 8002ca6: 58c3 ldr r3, [r0, r3]
- 8002ca8: 469f mov pc, r3
- 8002caa: 2500 movs r5, #0
- 8002cac: e7c6 b.n 8002c3c <d_unqualified_name+0x11c>
- 8002cae: 6aa7 ldr r7, [r4, #40] @ 0x28
- 8002cb0: 3301 adds r3, #1
- 8002cb2: 60e3 str r3, [r4, #12]
- 8002cb4: 0020 movs r0, r4
- 8002cb6: f7ff f8af bl 8001e18 <d_source_name>
- 8002cba: 002a movs r2, r5
- 8002cbc: 0003 movs r3, r0
- 8002cbe: 214d movs r1, #77 @ 0x4d
- 8002cc0: 0020 movs r0, r4
- 8002cc2: f7fe fdcf bl 8001864 <d_make_comp>
- 8002cc6: 68e3 ldr r3, [r4, #12]
- 8002cc8: 0005 movs r5, r0
- 8002cca: 781a ldrb r2, [r3, #0]
- 8002ccc: 2a42 cmp r2, #66 @ 0x42
- 8002cce: d0ef beq.n 8002cb0 <d_unqualified_name+0x190>
- 8002cd0: 62a7 str r7, [r4, #40] @ 0x28
- 8002cd2: e7c0 b.n 8002c56 <d_unqualified_name+0x136>
- 8002cd4: 3201 adds r2, #1
- 8002cd6: 0020 movs r0, r4
- 8002cd8: 60e2 str r2, [r4, #12]
- 8002cda: f7ff f89d bl 8001e18 <d_source_name>
- 8002cde: 1e05 subs r5, r0, #0
- 8002ce0: d004 beq.n 8002cec <d_unqualified_name+0x1cc>
- 8002ce2: 0020 movs r0, r4
- 8002ce4: f7fe fe90 bl 8001a08 <d_discriminator>
- 8002ce8: 2800 cmp r0, #0
- 8002cea: d1a7 bne.n 8002c3c <d_unqualified_name+0x11c>
- 8002cec: 2500 movs r5, #0
- 8002cee: e7bb b.n 8002c68 <d_unqualified_name+0x148>
- 8002cf0: 2002 movs r0, #2
- 8002cf2: 3202 adds r2, #2
- 8002cf4: 60e2 str r2, [r4, #12]
- 8002cf6: 6963 ldr r3, [r4, #20]
- 8002cf8: 69a2 ldr r2, [r4, #24]
- 8002cfa: 4293 cmp r3, r2
- 8002cfc: dad5 bge.n 8002caa <d_unqualified_name+0x18a>
- 8002cfe: 009a lsls r2, r3, #2
- 8002d00: 6925 ldr r5, [r4, #16]
- 8002d02: 18d2 adds r2, r2, r3
- 8002d04: 0092 lsls r2, r2, #2
- 8002d06: 18ad adds r5, r5, r2
- 8002d08: 2200 movs r2, #0
- 8002d0a: 3301 adds r3, #1
- 8002d0c: 606a str r2, [r5, #4]
- 8002d0e: 60aa str r2, [r5, #8]
- 8002d10: 6163 str r3, [r4, #20]
- 8002d12: 2900 cmp r1, #0
- 8002d14: d0c9 beq.n 8002caa <d_unqualified_name+0x18a>
- 8002d16: 2308 movs r3, #8
- 8002d18: 606a str r2, [r5, #4]
- 8002d1a: 60aa str r2, [r5, #8]
- 8002d1c: 702b strb r3, [r5, #0]
- 8002d1e: 7328 strb r0, [r5, #12]
- 8002d20: 6129 str r1, [r5, #16]
- 8002d22: e78b b.n 8002c3c <d_unqualified_name+0x11c>
- 8002d24: 2001 movs r0, #1
- 8002d26: e7e4 b.n 8002cf2 <d_unqualified_name+0x1d2>
- 8002d28: 2004 movs r0, #4
- 8002d2a: e7e2 b.n 8002cf2 <d_unqualified_name+0x1d2>
- 8002d2c: 2003 movs r0, #3
- 8002d2e: e7e0 b.n 8002cf2 <d_unqualified_name+0x1d2>
- 8002d30: 2005 movs r0, #5
- 8002d32: e7de b.n 8002cf2 <d_unqualified_name+0x1d2>
- 8002d34: 3202 adds r2, #2
- 8002d36: 2700 movs r7, #0
- 8002d38: 60e2 str r2, [r4, #12]
- 8002d3a: e006 b.n 8002d4a <d_unqualified_name+0x22a>
- 8002d3c: 6118 str r0, [r3, #16]
- 8002d3e: 2f00 cmp r7, #0
- 8002d40: d0b3 beq.n 8002caa <d_unqualified_name+0x18a>
- 8002d42: 68e3 ldr r3, [r4, #12]
- 8002d44: 781a ldrb r2, [r3, #0]
- 8002d46: 2a45 cmp r2, #69 @ 0x45
- 8002d48: d06e beq.n 8002e28 <d_unqualified_name+0x308>
- 8002d4a: 0020 movs r0, r4
- 8002d4c: f7ff f864 bl 8001e18 <d_source_name>
- 8002d50: 46b8 mov r8, r7
- 8002d52: 0002 movs r2, r0
- 8002d54: 2300 movs r3, #0
- 8002d56: 2152 movs r1, #82 @ 0x52
- 8002d58: 0020 movs r0, r4
- 8002d5a: f7fe fd83 bl 8001864 <d_make_comp>
- 8002d5e: 4643 mov r3, r8
- 8002d60: 0007 movs r7, r0
- 8002d62: 2b00 cmp r3, #0
- 8002d64: d1ea bne.n 8002d3c <d_unqualified_name+0x21c>
- 8002d66: 0005 movs r5, r0
- 8002d68: e7e9 b.n 8002d3e <d_unqualified_name+0x21e>
- 8002d6a: 6aa1 ldr r1, [r4, #40] @ 0x28
- 8002d6c: 2900 cmp r1, #0
- 8002d6e: d05e beq.n 8002e2e <d_unqualified_name+0x30e>
- 8002d70: 780b ldrb r3, [r1, #0]
- 8002d72: 2b00 cmp r3, #0
- 8002d74: d001 beq.n 8002d7a <d_unqualified_name+0x25a>
- 8002d76: 2b18 cmp r3, #24
- 8002d78: d159 bne.n 8002e2e <d_unqualified_name+0x30e>
- 8002d7a: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002d7c: 6908 ldr r0, [r1, #16]
- 8002d7e: 181b adds r3, r3, r0
- 8002d80: 62e3 str r3, [r4, #44] @ 0x2c
- 8002d82: 7813 ldrb r3, [r2, #0]
- 8002d84: 2b43 cmp r3, #67 @ 0x43
- 8002d86: d052 beq.n 8002e2e <d_unqualified_name+0x30e>
- 8002d88: 2b44 cmp r3, #68 @ 0x44
- 8002d8a: d18e bne.n 8002caa <d_unqualified_name+0x18a>
- 8002d8c: 7853 ldrb r3, [r2, #1]
- 8002d8e: e784 b.n 8002c9a <d_unqualified_name+0x17a>
- 8002d90: 1c53 adds r3, r2, #1
- 8002d92: 60e3 str r3, [r4, #12]
- 8002d94: 7853 ldrb r3, [r2, #1]
- 8002d96: 2b6c cmp r3, #108 @ 0x6c
- 8002d98: d187 bne.n 8002caa <d_unqualified_name+0x18a>
- 8002d9a: 2300 movs r3, #0
- 8002d9c: 3202 adds r2, #2
- 8002d9e: 0020 movs r0, r4
- 8002da0: 60e2 str r2, [r4, #12]
- 8002da2: a903 add r1, sp, #12
- 8002da4: 9303 str r3, [sp, #12]
- 8002da6: f7ff fe11 bl 80029cc <d_template_head>
- 8002daa: 9b03 ldr r3, [sp, #12]
- 8002dac: 0007 movs r7, r0
- 8002dae: 4698 mov r8, r3
- 8002db0: 2b00 cmp r3, #0
- 8002db2: d000 beq.n 8002db6 <d_unqualified_name+0x296>
- 8002db4: e779 b.n 8002caa <d_unqualified_name+0x18a>
- 8002db6: 0020 movs r0, r4
- 8002db8: f7ff fd1c bl 80027f4 <d_parmlist>
- 8002dbc: 2800 cmp r0, #0
- 8002dbe: d100 bne.n 8002dc2 <d_unqualified_name+0x2a2>
- 8002dc0: e773 b.n 8002caa <d_unqualified_name+0x18a>
- 8002dc2: 2f00 cmp r7, #0
- 8002dc4: d06b beq.n 8002e9e <d_unqualified_name+0x37e>
- 8002dc6: 6138 str r0, [r7, #16]
- 8002dc8: 68e2 ldr r2, [r4, #12]
- 8002dca: 7813 ldrb r3, [r2, #0]
- 8002dcc: 2b45 cmp r3, #69 @ 0x45
- 8002dce: d000 beq.n 8002dd2 <d_unqualified_name+0x2b2>
- 8002dd0: e76b b.n 8002caa <d_unqualified_name+0x18a>
- 8002dd2: 1c53 adds r3, r2, #1
- 8002dd4: 60e3 str r3, [r4, #12]
- 8002dd6: 7852 ldrb r2, [r2, #1]
- 8002dd8: 2a5f cmp r2, #95 @ 0x5f
- 8002dda: d00e beq.n 8002dfa <d_unqualified_name+0x2da>
- 8002ddc: 2a6e cmp r2, #110 @ 0x6e
- 8002dde: d100 bne.n 8002de2 <d_unqualified_name+0x2c2>
- 8002de0: e763 b.n 8002caa <d_unqualified_name+0x18a>
- 8002de2: 0020 movs r0, r4
- 8002de4: f7fe fdaa bl 800193c <d_number>
- 8002de8: 1c43 adds r3, r0, #1
- 8002dea: d500 bpl.n 8002dee <d_unqualified_name+0x2ce>
- 8002dec: e75d b.n 8002caa <d_unqualified_name+0x18a>
- 8002dee: 4698 mov r8, r3
- 8002df0: 68e3 ldr r3, [r4, #12]
- 8002df2: 781a ldrb r2, [r3, #0]
- 8002df4: 2a5f cmp r2, #95 @ 0x5f
- 8002df6: d000 beq.n 8002dfa <d_unqualified_name+0x2da>
- 8002df8: e757 b.n 8002caa <d_unqualified_name+0x18a>
- 8002dfa: 3301 adds r3, #1
- 8002dfc: 60e3 str r3, [r4, #12]
- 8002dfe: 69a2 ldr r2, [r4, #24]
- 8002e00: 6963 ldr r3, [r4, #20]
- 8002e02: 4293 cmp r3, r2
- 8002e04: db00 blt.n 8002e08 <d_unqualified_name+0x2e8>
- 8002e06: e750 b.n 8002caa <d_unqualified_name+0x18a>
- 8002e08: 009a lsls r2, r3, #2
- 8002e0a: 6925 ldr r5, [r4, #16]
- 8002e0c: 18d2 adds r2, r2, r3
- 8002e0e: 0092 lsls r2, r2, #2
- 8002e10: 18ad adds r5, r5, r2
- 8002e12: 2200 movs r2, #0
- 8002e14: 3301 adds r3, #1
- 8002e16: 606a str r2, [r5, #4]
- 8002e18: 60aa str r2, [r5, #8]
- 8002e1a: 6163 str r3, [r4, #20]
- 8002e1c: 2347 movs r3, #71 @ 0x47
- 8002e1e: 702b strb r3, [r5, #0]
- 8002e20: 4643 mov r3, r8
- 8002e22: 60ef str r7, [r5, #12]
- 8002e24: 612b str r3, [r5, #16]
- 8002e26: e709 b.n 8002c3c <d_unqualified_name+0x11c>
- 8002e28: 3301 adds r3, #1
- 8002e2a: 60e3 str r3, [r4, #12]
- 8002e2c: e706 b.n 8002c3c <d_unqualified_name+0x11c>
- 8002e2e: 7853 ldrb r3, [r2, #1]
- 8002e30: 2b49 cmp r3, #73 @ 0x49
- 8002e32: d021 beq.n 8002e78 <d_unqualified_name+0x358>
- 8002e34: 0018 movs r0, r3
- 8002e36: 3831 subs r0, #49 @ 0x31
- 8002e38: 2804 cmp r0, #4
- 8002e3a: d900 bls.n 8002e3e <d_unqualified_name+0x31e>
- 8002e3c: e735 b.n 8002caa <d_unqualified_name+0x18a>
- 8002e3e: 3b30 subs r3, #48 @ 0x30
- 8002e40: 3202 adds r2, #2
- 8002e42: b2df uxtb r7, r3
- 8002e44: 60e2 str r2, [r4, #12]
- 8002e46: 6963 ldr r3, [r4, #20]
- 8002e48: 69a2 ldr r2, [r4, #24]
- 8002e4a: 4293 cmp r3, r2
- 8002e4c: db00 blt.n 8002e50 <d_unqualified_name+0x330>
- 8002e4e: e72c b.n 8002caa <d_unqualified_name+0x18a>
- 8002e50: 009a lsls r2, r3, #2
- 8002e52: 6925 ldr r5, [r4, #16]
- 8002e54: 18d2 adds r2, r2, r3
- 8002e56: 0092 lsls r2, r2, #2
- 8002e58: 18ad adds r5, r5, r2
- 8002e5a: 2200 movs r2, #0
- 8002e5c: 3301 adds r3, #1
- 8002e5e: 606a str r2, [r5, #4]
- 8002e60: 60aa str r2, [r5, #8]
- 8002e62: 6163 str r3, [r4, #20]
- 8002e64: 2900 cmp r1, #0
- 8002e66: d100 bne.n 8002e6a <d_unqualified_name+0x34a>
- 8002e68: e71f b.n 8002caa <d_unqualified_name+0x18a>
- 8002e6a: 2307 movs r3, #7
- 8002e6c: 606a str r2, [r5, #4]
- 8002e6e: 60aa str r2, [r5, #8]
- 8002e70: 702b strb r3, [r5, #0]
- 8002e72: 732f strb r7, [r5, #12]
- 8002e74: 6129 str r1, [r5, #16]
- 8002e76: e6e1 b.n 8002c3c <d_unqualified_name+0x11c>
- 8002e78: 1c53 adds r3, r2, #1
- 8002e7a: 60e3 str r3, [r4, #12]
- 8002e7c: 7893 ldrb r3, [r2, #2]
- 8002e7e: 0019 movs r1, r3
- 8002e80: 3931 subs r1, #49 @ 0x31
- 8002e82: 2904 cmp r1, #4
- 8002e84: d900 bls.n 8002e88 <d_unqualified_name+0x368>
- 8002e86: e710 b.n 8002caa <d_unqualified_name+0x18a>
- 8002e88: 3203 adds r2, #3
- 8002e8a: 3b30 subs r3, #48 @ 0x30
- 8002e8c: 0020 movs r0, r4
- 8002e8e: 60e2 str r2, [r4, #12]
- 8002e90: b2df uxtb r7, r3
- 8002e92: f7ff f929 bl 80020e8 <d_type>
- 8002e96: 6aa1 ldr r1, [r4, #40] @ 0x28
- 8002e98: e7d5 b.n 8002e46 <d_unqualified_name+0x326>
- 8002e9a: 2000 movs r0, #0
- 8002e9c: e6ad b.n 8002bfa <d_unqualified_name+0xda>
- 8002e9e: 0007 movs r7, r0
- 8002ea0: e792 b.n 8002dc8 <d_unqualified_name+0x2a8>
- 8002ea2: 2d00 cmp r5, #0
- 8002ea4: d100 bne.n 8002ea8 <d_unqualified_name+0x388>
- 8002ea6: e6d6 b.n 8002c56 <d_unqualified_name+0x136>
- 8002ea8: 002b movs r3, r5
- 8002eaa: 2500 movs r5, #0
- 8002eac: e6c9 b.n 8002c42 <d_unqualified_name+0x122>
- 8002eae: 46c0 nop @ (mov r8, r8)
- 8002eb0: 08014f10 .word 0x08014f10
- 08002eb4 <d_expression_1>:
- 8002eb4: b5f8 push {r3, r4, r5, r6, r7, lr}
- 8002eb6: 68c2 ldr r2, [r0, #12]
- 8002eb8: 0004 movs r4, r0
- 8002eba: 7813 ldrb r3, [r2, #0]
- 8002ebc: 2b4c cmp r3, #76 @ 0x4c
- 8002ebe: d100 bne.n 8002ec2 <d_expression_1+0xe>
- 8002ec0: e0e2 b.n 8003088 <d_expression_1+0x1d4>
- 8002ec2: 2b54 cmp r3, #84 @ 0x54
- 8002ec4: d100 bne.n 8002ec8 <d_expression_1+0x14>
- 8002ec6: e0e3 b.n 8003090 <d_expression_1+0x1dc>
- 8002ec8: 2b73 cmp r3, #115 @ 0x73
- 8002eca: d025 beq.n 8002f18 <d_expression_1+0x64>
- 8002ecc: 2b66 cmp r3, #102 @ 0x66
- 8002ece: d064 beq.n 8002f9a <d_expression_1+0xe6>
- 8002ed0: 0019 movs r1, r3
- 8002ed2: 3930 subs r1, #48 @ 0x30
- 8002ed4: 2909 cmp r1, #9
- 8002ed6: d948 bls.n 8002f6a <d_expression_1+0xb6>
- 8002ed8: 2b6f cmp r3, #111 @ 0x6f
- 8002eda: d041 beq.n 8002f60 <d_expression_1+0xac>
- 8002edc: 2b69 cmp r3, #105 @ 0x69
- 8002ede: d000 beq.n 8002ee2 <d_expression_1+0x2e>
- 8002ee0: e245 b.n 800336e <d_expression_1+0x4ba>
- 8002ee2: 7853 ldrb r3, [r2, #1]
- 8002ee4: 2b6c cmp r3, #108 @ 0x6c
- 8002ee6: d11e bne.n 8002f26 <d_expression_1+0x72>
- 8002ee8: 2500 movs r5, #0
- 8002eea: 3202 adds r2, #2
- 8002eec: 60c2 str r2, [r0, #12]
- 8002eee: 7813 ldrb r3, [r2, #0]
- 8002ef0: 2b00 cmp r3, #0
- 8002ef2: d100 bne.n 8002ef6 <d_expression_1+0x42>
- 8002ef4: e094 b.n 8003020 <d_expression_1+0x16c>
- 8002ef6: 7853 ldrb r3, [r2, #1]
- 8002ef8: 2b00 cmp r3, #0
- 8002efa: d100 bne.n 8002efe <d_expression_1+0x4a>
- 8002efc: e090 b.n 8003020 <d_expression_1+0x16c>
- 8002efe: 2145 movs r1, #69 @ 0x45
- 8002f00: 0020 movs r0, r4
- 8002f02: f000 fa55 bl 80033b0 <d_exprlist>
- 8002f06: 002a movs r2, r5
- 8002f08: 0003 movs r3, r0
- 8002f0a: 2131 movs r1, #49 @ 0x31
- 8002f0c: 0020 movs r0, r4
- 8002f0e: f7fe fca9 bl 8001864 <d_make_comp>
- 8002f12: 0005 movs r5, r0
- 8002f14: 0028 movs r0, r5
- 8002f16: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 8002f18: 7853 ldrb r3, [r2, #1]
- 8002f1a: 2b72 cmp r3, #114 @ 0x72
- 8002f1c: d100 bne.n 8002f20 <d_expression_1+0x6c>
- 8002f1e: e0fa b.n 8003116 <d_expression_1+0x262>
- 8002f20: 2b70 cmp r3, #112 @ 0x70
- 8002f22: d100 bne.n 8002f26 <d_expression_1+0x72>
- 8002f24: e11f b.n 8003166 <d_expression_1+0x2b2>
- 8002f26: 0020 movs r0, r4
- 8002f28: f7ff fd6c bl 8002a04 <d_operator_name>
- 8002f2c: 1e05 subs r5, r0, #0
- 8002f2e: d077 beq.n 8003020 <d_expression_1+0x16c>
- 8002f30: 7803 ldrb r3, [r0, #0]
- 8002f32: 2b32 cmp r3, #50 @ 0x32
- 8002f34: d05f beq.n 8002ff6 <d_expression_1+0x142>
- 8002f36: 2b33 cmp r3, #51 @ 0x33
- 8002f38: d100 bne.n 8002f3c <d_expression_1+0x88>
- 8002f3a: e0ad b.n 8003098 <d_expression_1+0x1e4>
- 8002f3c: 2b34 cmp r3, #52 @ 0x34
- 8002f3e: d16f bne.n 8003020 <d_expression_1+0x16c>
- 8002f40: 68e3 ldr r3, [r4, #12]
- 8002f42: 781a ldrb r2, [r3, #0]
- 8002f44: 2a5f cmp r2, #95 @ 0x5f
- 8002f46: d100 bne.n 8002f4a <d_expression_1+0x96>
- 8002f48: e1f5 b.n 8003336 <d_expression_1+0x482>
- 8002f4a: 0020 movs r0, r4
- 8002f4c: f7ff ffb2 bl 8002eb4 <d_expression_1>
- 8002f50: 0003 movs r3, r0
- 8002f52: 002a movs r2, r5
- 8002f54: 2137 movs r1, #55 @ 0x37
- 8002f56: 0020 movs r0, r4
- 8002f58: f7fe fc84 bl 8001864 <d_make_comp>
- 8002f5c: 0005 movs r5, r0
- 8002f5e: e7d9 b.n 8002f14 <d_expression_1+0x60>
- 8002f60: 7853 ldrb r3, [r2, #1]
- 8002f62: 2b6e cmp r3, #110 @ 0x6e
- 8002f64: d1df bne.n 8002f26 <d_expression_1+0x72>
- 8002f66: 3202 adds r2, #2
- 8002f68: 60c2 str r2, [r0, #12]
- 8002f6a: 2200 movs r2, #0
- 8002f6c: 2100 movs r1, #0
- 8002f6e: 0020 movs r0, r4
- 8002f70: f7ff fdd6 bl 8002b20 <d_unqualified_name>
- 8002f74: 1e05 subs r5, r0, #0
- 8002f76: d053 beq.n 8003020 <d_expression_1+0x16c>
- 8002f78: 68e3 ldr r3, [r4, #12]
- 8002f7a: 781a ldrb r2, [r3, #0]
- 8002f7c: 2a49 cmp r2, #73 @ 0x49
- 8002f7e: d1c9 bne.n 8002f14 <d_expression_1+0x60>
- 8002f80: 3301 adds r3, #1
- 8002f82: 60e3 str r3, [r4, #12]
- 8002f84: 0020 movs r0, r4
- 8002f86: f000 ffc3 bl 8003f10 <d_template_args_1>
- 8002f8a: 002a movs r2, r5
- 8002f8c: 0003 movs r3, r0
- 8002f8e: 2104 movs r1, #4
- 8002f90: 0020 movs r0, r4
- 8002f92: f7fe fc67 bl 8001864 <d_make_comp>
- 8002f96: 0005 movs r5, r0
- 8002f98: e7bc b.n 8002f14 <d_expression_1+0x60>
- 8002f9a: 7853 ldrb r3, [r2, #1]
- 8002f9c: 2b70 cmp r3, #112 @ 0x70
- 8002f9e: d1c2 bne.n 8002f26 <d_expression_1+0x72>
- 8002fa0: 1c93 adds r3, r2, #2
- 8002fa2: 60c3 str r3, [r0, #12]
- 8002fa4: 7893 ldrb r3, [r2, #2]
- 8002fa6: 2b54 cmp r3, #84 @ 0x54
- 8002fa8: d100 bne.n 8002fac <d_expression_1+0xf8>
- 8002faa: e0d3 b.n 8003154 <d_expression_1+0x2a0>
- 8002fac: 2b5f cmp r3, #95 @ 0x5f
- 8002fae: d100 bne.n 8002fb2 <d_expression_1+0xfe>
- 8002fb0: e0a2 b.n 80030f8 <d_expression_1+0x244>
- 8002fb2: 2b6e cmp r3, #110 @ 0x6e
- 8002fb4: d034 beq.n 8003020 <d_expression_1+0x16c>
- 8002fb6: f7fe fcc1 bl 800193c <d_number>
- 8002fba: 1c41 adds r1, r0, #1
- 8002fbc: d430 bmi.n 8003020 <d_expression_1+0x16c>
- 8002fbe: 68e3 ldr r3, [r4, #12]
- 8002fc0: 781a ldrb r2, [r3, #0]
- 8002fc2: 2a5f cmp r2, #95 @ 0x5f
- 8002fc4: d12c bne.n 8003020 <d_expression_1+0x16c>
- 8002fc6: 3301 adds r3, #1
- 8002fc8: 60e3 str r3, [r4, #12]
- 8002fca: 4bc4 ldr r3, [pc, #784] @ (80032dc <d_expression_1+0x428>)
- 8002fcc: 4299 cmp r1, r3
- 8002fce: d027 beq.n 8003020 <d_expression_1+0x16c>
- 8002fd0: 3002 adds r0, #2
- 8002fd2: 6963 ldr r3, [r4, #20]
- 8002fd4: 69a2 ldr r2, [r4, #24]
- 8002fd6: 4293 cmp r3, r2
- 8002fd8: da22 bge.n 8003020 <d_expression_1+0x16c>
- 8002fda: 009a lsls r2, r3, #2
- 8002fdc: 6925 ldr r5, [r4, #16]
- 8002fde: 18d2 adds r2, r2, r3
- 8002fe0: 0092 lsls r2, r2, #2
- 8002fe2: 18ad adds r5, r5, r2
- 8002fe4: 2200 movs r2, #0
- 8002fe6: 3301 adds r3, #1
- 8002fe8: 606a str r2, [r5, #4]
- 8002fea: 60aa str r2, [r5, #8]
- 8002fec: 6163 str r3, [r4, #20]
- 8002fee: 2306 movs r3, #6
- 8002ff0: 60e8 str r0, [r5, #12]
- 8002ff2: 702b strb r3, [r5, #0]
- 8002ff4: e78e b.n 8002f14 <d_expression_1+0x60>
- 8002ff6: 68c1 ldr r1, [r0, #12]
- 8002ff8: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8002ffa: 688a ldr r2, [r1, #8]
- 8002ffc: 680e ldr r6, [r1, #0]
- 8002ffe: 3a02 subs r2, #2
- 8003000: 189b adds r3, r3, r2
- 8003002: 62e3 str r3, [r4, #44] @ 0x2c
- 8003004: 7833 ldrb r3, [r6, #0]
- 8003006: 2b73 cmp r3, #115 @ 0x73
- 8003008: d10c bne.n 8003024 <d_expression_1+0x170>
- 800300a: 7872 ldrb r2, [r6, #1]
- 800300c: 2a74 cmp r2, #116 @ 0x74
- 800300e: d109 bne.n 8003024 <d_expression_1+0x170>
- 8003010: 78b2 ldrb r2, [r6, #2]
- 8003012: 2a00 cmp r2, #0
- 8003014: d106 bne.n 8003024 <d_expression_1+0x170>
- 8003016: 0020 movs r0, r4
- 8003018: f7ff f866 bl 80020e8 <d_type>
- 800301c: 0003 movs r3, r0
- 800301e: e798 b.n 8002f52 <d_expression_1+0x9e>
- 8003020: 2500 movs r5, #0
- 8003022: e777 b.n 8002f14 <d_expression_1+0x60>
- 8003024: 68cf ldr r7, [r1, #12]
- 8003026: 2f02 cmp r7, #2
- 8003028: d100 bne.n 800302c <d_expression_1+0x178>
- 800302a: e0a8 b.n 800317e <d_expression_1+0x2ca>
- 800302c: dd44 ble.n 80030b8 <d_expression_1+0x204>
- 800302e: 2f03 cmp r7, #3
- 8003030: d1f6 bne.n 8003020 <d_expression_1+0x16c>
- 8003032: 2b71 cmp r3, #113 @ 0x71
- 8003034: d000 beq.n 8003038 <d_expression_1+0x184>
- 8003036: e0d9 b.n 80031ec <d_expression_1+0x338>
- 8003038: 7872 ldrb r2, [r6, #1]
- 800303a: 2a75 cmp r2, #117 @ 0x75
- 800303c: d000 beq.n 8003040 <d_expression_1+0x18c>
- 800303e: e0d5 b.n 80031ec <d_expression_1+0x338>
- 8003040: 78b2 ldrb r2, [r6, #2]
- 8003042: 2a00 cmp r2, #0
- 8003044: d000 beq.n 8003048 <d_expression_1+0x194>
- 8003046: e0d1 b.n 80031ec <d_expression_1+0x338>
- 8003048: 0020 movs r0, r4
- 800304a: f7ff ff33 bl 8002eb4 <d_expression_1>
- 800304e: 0006 movs r6, r0
- 8003050: 0020 movs r0, r4
- 8003052: f7ff ff2f bl 8002eb4 <d_expression_1>
- 8003056: 0007 movs r7, r0
- 8003058: 0020 movs r0, r4
- 800305a: f7ff ff2b bl 8002eb4 <d_expression_1>
- 800305e: 1e03 subs r3, r0, #0
- 8003060: d0de beq.n 8003020 <d_expression_1+0x16c>
- 8003062: 003a movs r2, r7
- 8003064: 213c movs r1, #60 @ 0x3c
- 8003066: 0020 movs r0, r4
- 8003068: f7fe fbfc bl 8001864 <d_make_comp>
- 800306c: 0032 movs r2, r6
- 800306e: 0003 movs r3, r0
- 8003070: 213b movs r1, #59 @ 0x3b
- 8003072: 0020 movs r0, r4
- 8003074: f7fe fbf6 bl 8001864 <d_make_comp>
- 8003078: 002a movs r2, r5
- 800307a: 0003 movs r3, r0
- 800307c: 213a movs r1, #58 @ 0x3a
- 800307e: 0020 movs r0, r4
- 8003080: f7fe fbf0 bl 8001864 <d_make_comp>
- 8003084: 0005 movs r5, r0
- 8003086: e745 b.n 8002f14 <d_expression_1+0x60>
- 8003088: f000 fe8c bl 8003da4 <d_expr_primary>
- 800308c: 0005 movs r5, r0
- 800308e: e741 b.n 8002f14 <d_expression_1+0x60>
- 8003090: f7fe fe4e bl 8001d30 <d_template_param>
- 8003094: 0005 movs r5, r0
- 8003096: e73d b.n 8002f14 <d_expression_1+0x60>
- 8003098: 68c3 ldr r3, [r0, #12]
- 800309a: 2b01 cmp r3, #1
- 800309c: d100 bne.n 80030a0 <d_expression_1+0x1ec>
- 800309e: e754 b.n 8002f4a <d_expression_1+0x96>
- 80030a0: 2b02 cmp r3, #2
- 80030a2: d0bd beq.n 8003020 <d_expression_1+0x16c>
- 80030a4: 2b00 cmp r3, #0
- 80030a6: d1bb bne.n 8003020 <d_expression_1+0x16c>
- 80030a8: 002a movs r2, r5
- 80030aa: 2300 movs r3, #0
- 80030ac: 2136 movs r1, #54 @ 0x36
- 80030ae: 0020 movs r0, r4
- 80030b0: f7fe fbd8 bl 8001864 <d_make_comp>
- 80030b4: 0005 movs r5, r0
- 80030b6: e72d b.n 8002f14 <d_expression_1+0x60>
- 80030b8: 2f00 cmp r7, #0
- 80030ba: d0f5 beq.n 80030a8 <d_expression_1+0x1f4>
- 80030bc: 2f01 cmp r7, #1
- 80030be: d1af bne.n 8003020 <d_expression_1+0x16c>
- 80030c0: 7832 ldrb r2, [r6, #0]
- 80030c2: 2a70 cmp r2, #112 @ 0x70
- 80030c4: d01c beq.n 8003100 <d_expression_1+0x24c>
- 80030c6: 2a6d cmp r2, #109 @ 0x6d
- 80030c8: d01a beq.n 8003100 <d_expression_1+0x24c>
- 80030ca: 2700 movs r7, #0
- 80030cc: 2b73 cmp r3, #115 @ 0x73
- 80030ce: d145 bne.n 800315c <d_expression_1+0x2a8>
- 80030d0: 7873 ldrb r3, [r6, #1]
- 80030d2: 2b50 cmp r3, #80 @ 0x50
- 80030d4: d142 bne.n 800315c <d_expression_1+0x2a8>
- 80030d6: 78b3 ldrb r3, [r6, #2]
- 80030d8: 2b00 cmp r3, #0
- 80030da: d13f bne.n 800315c <d_expression_1+0x2a8>
- 80030dc: 0020 movs r0, r4
- 80030de: f000 ff17 bl 8003f10 <d_template_args_1>
- 80030e2: 0003 movs r3, r0
- 80030e4: 2f00 cmp r7, #0
- 80030e6: d100 bne.n 80030ea <d_expression_1+0x236>
- 80030e8: e733 b.n 8002f52 <d_expression_1+0x9e>
- 80030ea: 001a movs r2, r3
- 80030ec: 2139 movs r1, #57 @ 0x39
- 80030ee: 0020 movs r0, r4
- 80030f0: f7fe fbb8 bl 8001864 <d_make_comp>
- 80030f4: 0003 movs r3, r0
- 80030f6: e72c b.n 8002f52 <d_expression_1+0x9e>
- 80030f8: 3203 adds r2, #3
- 80030fa: 60c2 str r2, [r0, #12]
- 80030fc: 2001 movs r0, #1
- 80030fe: e768 b.n 8002fd2 <d_expression_1+0x11e>
- 8003100: 7871 ldrb r1, [r6, #1]
- 8003102: 4291 cmp r1, r2
- 8003104: d1e1 bne.n 80030ca <d_expression_1+0x216>
- 8003106: 68e2 ldr r2, [r4, #12]
- 8003108: 7811 ldrb r1, [r2, #0]
- 800310a: 295f cmp r1, #95 @ 0x5f
- 800310c: d1de bne.n 80030cc <d_expression_1+0x218>
- 800310e: 3201 adds r2, #1
- 8003110: 60e2 str r2, [r4, #12]
- 8003112: 7833 ldrb r3, [r6, #0]
- 8003114: e7d9 b.n 80030ca <d_expression_1+0x216>
- 8003116: 1c93 adds r3, r2, #2
- 8003118: 60c3 str r3, [r0, #12]
- 800311a: 7893 ldrb r3, [r2, #2]
- 800311c: 6b82 ldr r2, [r0, #56] @ 0x38
- 800311e: 2a00 cmp r2, #0
- 8003120: d009 beq.n 8003136 <d_expression_1+0x282>
- 8003122: 2b55 cmp r3, #85 @ 0x55
- 8003124: d900 bls.n 8003128 <d_expression_1+0x274>
- 8003126: e0d3 b.n 80032d0 <d_expression_1+0x41c>
- 8003128: 2b42 cmp r3, #66 @ 0x42
- 800312a: d900 bls.n 800312e <d_expression_1+0x27a>
- 800312c: e0b9 b.n 80032a2 <d_expression_1+0x3ee>
- 800312e: 3b30 subs r3, #48 @ 0x30
- 8003130: 2b09 cmp r3, #9
- 8003132: d800 bhi.n 8003136 <d_expression_1+0x282>
- 8003134: e0bc b.n 80032b0 <d_expression_1+0x3fc>
- 8003136: 0020 movs r0, r4
- 8003138: f7fe ffd6 bl 80020e8 <d_type>
- 800313c: 0001 movs r1, r0
- 800313e: 2200 movs r2, #0
- 8003140: 0020 movs r0, r4
- 8003142: f7ff fced bl 8002b20 <d_unqualified_name>
- 8003146: 68e3 ldr r3, [r4, #12]
- 8003148: 0005 movs r5, r0
- 800314a: 781a ldrb r2, [r3, #0]
- 800314c: 2a49 cmp r2, #73 @ 0x49
- 800314e: d000 beq.n 8003152 <d_expression_1+0x29e>
- 8003150: e6e0 b.n 8002f14 <d_expression_1+0x60>
- 8003152: e715 b.n 8002f80 <d_expression_1+0xcc>
- 8003154: 3203 adds r2, #3
- 8003156: 60c2 str r2, [r0, #12]
- 8003158: 2000 movs r0, #0
- 800315a: e73a b.n 8002fd2 <d_expression_1+0x11e>
- 800315c: 0020 movs r0, r4
- 800315e: f7ff fea9 bl 8002eb4 <d_expression_1>
- 8003162: 0003 movs r3, r0
- 8003164: e7be b.n 80030e4 <d_expression_1+0x230>
- 8003166: 3202 adds r2, #2
- 8003168: 60c2 str r2, [r0, #12]
- 800316a: f7ff fea3 bl 8002eb4 <d_expression_1>
- 800316e: 2300 movs r3, #0
- 8003170: 0002 movs r2, r0
- 8003172: 214c movs r1, #76 @ 0x4c
- 8003174: 0020 movs r0, r4
- 8003176: f7fe fb75 bl 8001864 <d_make_comp>
- 800317a: 0005 movs r5, r0
- 800317c: e6ca b.n 8002f14 <d_expression_1+0x60>
- 800317e: 68eb ldr r3, [r5, #12]
- 8003180: 681b ldr r3, [r3, #0]
- 8003182: 785a ldrb r2, [r3, #1]
- 8003184: 2a63 cmp r2, #99 @ 0x63
- 8003186: d100 bne.n 800318a <d_expression_1+0x2d6>
- 8003188: e0ac b.n 80032e4 <d_expression_1+0x430>
- 800318a: 7833 ldrb r3, [r6, #0]
- 800318c: 2b66 cmp r3, #102 @ 0x66
- 800318e: d100 bne.n 8003192 <d_expression_1+0x2de>
- 8003190: e0cc b.n 800332c <d_expression_1+0x478>
- 8003192: 2b64 cmp r3, #100 @ 0x64
- 8003194: d000 beq.n 8003198 <d_expression_1+0x2e4>
- 8003196: e0c0 b.n 800331a <d_expression_1+0x466>
- 8003198: 7873 ldrb r3, [r6, #1]
- 800319a: 2b69 cmp r3, #105 @ 0x69
- 800319c: d000 beq.n 80031a0 <d_expression_1+0x2ec>
- 800319e: e0bc b.n 800331a <d_expression_1+0x466>
- 80031a0: 78b3 ldrb r3, [r6, #2]
- 80031a2: 2b00 cmp r3, #0
- 80031a4: d000 beq.n 80031a8 <d_expression_1+0x2f4>
- 80031a6: e0b8 b.n 800331a <d_expression_1+0x466>
- 80031a8: 2200 movs r2, #0
- 80031aa: 2100 movs r1, #0
- 80031ac: 0020 movs r0, r4
- 80031ae: f7ff fcb7 bl 8002b20 <d_unqualified_name>
- 80031b2: 0007 movs r7, r0
- 80031b4: 7833 ldrb r3, [r6, #0]
- 80031b6: 2b63 cmp r3, #99 @ 0x63
- 80031b8: d14b bne.n 8003252 <d_expression_1+0x39e>
- 80031ba: 7872 ldrb r2, [r6, #1]
- 80031bc: 2a6c cmp r2, #108 @ 0x6c
- 80031be: d148 bne.n 8003252 <d_expression_1+0x39e>
- 80031c0: 78b2 ldrb r2, [r6, #2]
- 80031c2: 2a00 cmp r2, #0
- 80031c4: d145 bne.n 8003252 <d_expression_1+0x39e>
- 80031c6: 2145 movs r1, #69 @ 0x45
- 80031c8: 0020 movs r0, r4
- 80031ca: f000 f8f1 bl 80033b0 <d_exprlist>
- 80031ce: 0006 movs r6, r0
- 80031d0: 0033 movs r3, r6
- 80031d2: 003a movs r2, r7
- 80031d4: 2139 movs r1, #57 @ 0x39
- 80031d6: 0020 movs r0, r4
- 80031d8: f7fe fb44 bl 8001864 <d_make_comp>
- 80031dc: 002a movs r2, r5
- 80031de: 0003 movs r3, r0
- 80031e0: 2138 movs r1, #56 @ 0x38
- 80031e2: 0020 movs r0, r4
- 80031e4: f7fe fb3e bl 8001864 <d_make_comp>
- 80031e8: 0005 movs r5, r0
- 80031ea: e693 b.n 8002f14 <d_expression_1+0x60>
- 80031ec: 2b64 cmp r3, #100 @ 0x64
- 80031ee: d106 bne.n 80031fe <d_expression_1+0x34a>
- 80031f0: 7873 ldrb r3, [r6, #1]
- 80031f2: 2b58 cmp r3, #88 @ 0x58
- 80031f4: d103 bne.n 80031fe <d_expression_1+0x34a>
- 80031f6: 78b3 ldrb r3, [r6, #2]
- 80031f8: 2b00 cmp r3, #0
- 80031fa: d100 bne.n 80031fe <d_expression_1+0x34a>
- 80031fc: e724 b.n 8003048 <d_expression_1+0x194>
- 80031fe: 7833 ldrb r3, [r6, #0]
- 8003200: 2b66 cmp r3, #102 @ 0x66
- 8003202: d100 bne.n 8003206 <d_expression_1+0x352>
- 8003204: e09f b.n 8003346 <d_expression_1+0x492>
- 8003206: 2b6e cmp r3, #110 @ 0x6e
- 8003208: d000 beq.n 800320c <d_expression_1+0x358>
- 800320a: e709 b.n 8003020 <d_expression_1+0x16c>
- 800320c: 7873 ldrb r3, [r6, #1]
- 800320e: 2b77 cmp r3, #119 @ 0x77
- 8003210: d002 beq.n 8003218 <d_expression_1+0x364>
- 8003212: 2b61 cmp r3, #97 @ 0x61
- 8003214: d000 beq.n 8003218 <d_expression_1+0x364>
- 8003216: e703 b.n 8003020 <d_expression_1+0x16c>
- 8003218: 215f movs r1, #95 @ 0x5f
- 800321a: 0020 movs r0, r4
- 800321c: f000 f8c8 bl 80033b0 <d_exprlist>
- 8003220: 0006 movs r6, r0
- 8003222: 0020 movs r0, r4
- 8003224: f7fe ff60 bl 80020e8 <d_type>
- 8003228: 68e3 ldr r3, [r4, #12]
- 800322a: 0007 movs r7, r0
- 800322c: 781a ldrb r2, [r3, #0]
- 800322e: 2a45 cmp r2, #69 @ 0x45
- 8003230: d100 bne.n 8003234 <d_expression_1+0x380>
- 8003232: e098 b.n 8003366 <d_expression_1+0x4b2>
- 8003234: 2a70 cmp r2, #112 @ 0x70
- 8003236: d100 bne.n 800323a <d_expression_1+0x386>
- 8003238: e089 b.n 800334e <d_expression_1+0x49a>
- 800323a: 2a69 cmp r2, #105 @ 0x69
- 800323c: d000 beq.n 8003240 <d_expression_1+0x38c>
- 800323e: e6ef b.n 8003020 <d_expression_1+0x16c>
- 8003240: 785b ldrb r3, [r3, #1]
- 8003242: 2b6c cmp r3, #108 @ 0x6c
- 8003244: d000 beq.n 8003248 <d_expression_1+0x394>
- 8003246: e6eb b.n 8003020 <d_expression_1+0x16c>
- 8003248: 0020 movs r0, r4
- 800324a: f7ff fe33 bl 8002eb4 <d_expression_1>
- 800324e: 0003 movs r3, r0
- 8003250: e707 b.n 8003062 <d_expression_1+0x1ae>
- 8003252: 2b64 cmp r3, #100 @ 0x64
- 8003254: d154 bne.n 8003300 <d_expression_1+0x44c>
- 8003256: 7872 ldrb r2, [r6, #1]
- 8003258: 2a74 cmp r2, #116 @ 0x74
- 800325a: d151 bne.n 8003300 <d_expression_1+0x44c>
- 800325c: 78b2 ldrb r2, [r6, #2]
- 800325e: 2a00 cmp r2, #0
- 8003260: d14e bne.n 8003300 <d_expression_1+0x44c>
- 8003262: 68e3 ldr r3, [r4, #12]
- 8003264: 781a ldrb r2, [r3, #0]
- 8003266: 2a67 cmp r2, #103 @ 0x67
- 8003268: d05c beq.n 8003324 <d_expression_1+0x470>
- 800326a: 2a73 cmp r2, #115 @ 0x73
- 800326c: d102 bne.n 8003274 <d_expression_1+0x3c0>
- 800326e: 785b ldrb r3, [r3, #1]
- 8003270: 2b72 cmp r3, #114 @ 0x72
- 8003272: d04d beq.n 8003310 <d_expression_1+0x45c>
- 8003274: 2200 movs r2, #0
- 8003276: 2100 movs r1, #0
- 8003278: 0020 movs r0, r4
- 800327a: f7ff fc51 bl 8002b20 <d_unqualified_name>
- 800327e: 68e3 ldr r3, [r4, #12]
- 8003280: 0006 movs r6, r0
- 8003282: 781a ldrb r2, [r3, #0]
- 8003284: 2a49 cmp r2, #73 @ 0x49
- 8003286: d1a3 bne.n 80031d0 <d_expression_1+0x31c>
- 8003288: 3301 adds r3, #1
- 800328a: 60e3 str r3, [r4, #12]
- 800328c: 0020 movs r0, r4
- 800328e: f000 fe3f bl 8003f10 <d_template_args_1>
- 8003292: 0032 movs r2, r6
- 8003294: 0003 movs r3, r0
- 8003296: 2104 movs r1, #4
- 8003298: 0020 movs r0, r4
- 800329a: f7fe fae3 bl 8001864 <d_make_comp>
- 800329e: 0006 movs r6, r0
- 80032a0: e796 b.n 80031d0 <d_expression_1+0x31c>
- 80032a2: 4a0f ldr r2, [pc, #60] @ (80032e0 <d_expression_1+0x42c>)
- 80032a4: 3b43 subs r3, #67 @ 0x43
- 80032a6: b2db uxtb r3, r3
- 80032a8: 40da lsrs r2, r3
- 80032aa: 07d2 lsls r2, r2, #31
- 80032ac: d400 bmi.n 80032b0 <d_expression_1+0x3fc>
- 80032ae: e742 b.n 8003136 <d_expression_1+0x282>
- 80032b0: 2301 movs r3, #1
- 80032b2: 425b negs r3, r3
- 80032b4: 2100 movs r1, #0
- 80032b6: 63a3 str r3, [r4, #56] @ 0x38
- 80032b8: 0020 movs r0, r4
- 80032ba: f000 fe59 bl 8003f70 <d_prefix>
- 80032be: 68e3 ldr r3, [r4, #12]
- 80032c0: 0001 movs r1, r0
- 80032c2: 781a ldrb r2, [r3, #0]
- 80032c4: 2a45 cmp r2, #69 @ 0x45
- 80032c6: d000 beq.n 80032ca <d_expression_1+0x416>
- 80032c8: e739 b.n 800313e <d_expression_1+0x28a>
- 80032ca: 3301 adds r3, #1
- 80032cc: 60e3 str r3, [r4, #12]
- 80032ce: e736 b.n 800313e <d_expression_1+0x28a>
- 80032d0: 3b61 subs r3, #97 @ 0x61
- 80032d2: 2b19 cmp r3, #25
- 80032d4: d900 bls.n 80032d8 <d_expression_1+0x424>
- 80032d6: e72e b.n 8003136 <d_expression_1+0x282>
- 80032d8: e7ea b.n 80032b0 <d_expression_1+0x3fc>
- 80032da: 46c0 nop @ (mov r8, r8)
- 80032dc: 7fffffff .word 0x7fffffff
- 80032e0: 00040201 .word 0x00040201
- 80032e4: 781b ldrb r3, [r3, #0]
- 80032e6: 001a movs r2, r3
- 80032e8: 3a72 subs r2, #114 @ 0x72
- 80032ea: 2a01 cmp r2, #1
- 80032ec: d903 bls.n 80032f6 <d_expression_1+0x442>
- 80032ee: 3b63 subs r3, #99 @ 0x63
- 80032f0: 2b01 cmp r3, #1
- 80032f2: d900 bls.n 80032f6 <d_expression_1+0x442>
- 80032f4: e749 b.n 800318a <d_expression_1+0x2d6>
- 80032f6: 0020 movs r0, r4
- 80032f8: f7fe fef6 bl 80020e8 <d_type>
- 80032fc: 0007 movs r7, r0
- 80032fe: e759 b.n 80031b4 <d_expression_1+0x300>
- 8003300: 2b70 cmp r3, #112 @ 0x70
- 8003302: d105 bne.n 8003310 <d_expression_1+0x45c>
- 8003304: 7873 ldrb r3, [r6, #1]
- 8003306: 2b74 cmp r3, #116 @ 0x74
- 8003308: d102 bne.n 8003310 <d_expression_1+0x45c>
- 800330a: 78b3 ldrb r3, [r6, #2]
- 800330c: 2b00 cmp r3, #0
- 800330e: d0a8 beq.n 8003262 <d_expression_1+0x3ae>
- 8003310: 0020 movs r0, r4
- 8003312: f7ff fdcf bl 8002eb4 <d_expression_1>
- 8003316: 0006 movs r6, r0
- 8003318: e75a b.n 80031d0 <d_expression_1+0x31c>
- 800331a: 0020 movs r0, r4
- 800331c: f7ff fdca bl 8002eb4 <d_expression_1>
- 8003320: 0007 movs r7, r0
- 8003322: e747 b.n 80031b4 <d_expression_1+0x300>
- 8003324: 785b ldrb r3, [r3, #1]
- 8003326: 2b73 cmp r3, #115 @ 0x73
- 8003328: d1a4 bne.n 8003274 <d_expression_1+0x3c0>
- 800332a: e7f1 b.n 8003310 <d_expression_1+0x45c>
- 800332c: 0020 movs r0, r4
- 800332e: f7ff fb69 bl 8002a04 <d_operator_name>
- 8003332: 0007 movs r7, r0
- 8003334: e73e b.n 80031b4 <d_expression_1+0x300>
- 8003336: 3301 adds r3, #1
- 8003338: 60e3 str r3, [r4, #12]
- 800333a: 2145 movs r1, #69 @ 0x45
- 800333c: 0020 movs r0, r4
- 800333e: f000 f837 bl 80033b0 <d_exprlist>
- 8003342: 0003 movs r3, r0
- 8003344: e605 b.n 8002f52 <d_expression_1+0x9e>
- 8003346: 0020 movs r0, r4
- 8003348: f7ff fb5c bl 8002a04 <d_operator_name>
- 800334c: e67f b.n 800304e <d_expression_1+0x19a>
- 800334e: 785a ldrb r2, [r3, #1]
- 8003350: 2a69 cmp r2, #105 @ 0x69
- 8003352: d000 beq.n 8003356 <d_expression_1+0x4a2>
- 8003354: e664 b.n 8003020 <d_expression_1+0x16c>
- 8003356: 3302 adds r3, #2
- 8003358: 60e3 str r3, [r4, #12]
- 800335a: 2145 movs r1, #69 @ 0x45
- 800335c: 0020 movs r0, r4
- 800335e: f000 f827 bl 80033b0 <d_exprlist>
- 8003362: 0003 movs r3, r0
- 8003364: e67d b.n 8003062 <d_expression_1+0x1ae>
- 8003366: 3301 adds r3, #1
- 8003368: 60e3 str r3, [r4, #12]
- 800336a: 2300 movs r3, #0
- 800336c: e679 b.n 8003062 <d_expression_1+0x1ae>
- 800336e: 2b74 cmp r3, #116 @ 0x74
- 8003370: d012 beq.n 8003398 <d_expression_1+0x4e4>
- 8003372: 2b75 cmp r3, #117 @ 0x75
- 8003374: d000 beq.n 8003378 <d_expression_1+0x4c4>
- 8003376: e5d6 b.n 8002f26 <d_expression_1+0x72>
- 8003378: 3201 adds r2, #1
- 800337a: 60c2 str r2, [r0, #12]
- 800337c: f7fe fd4c bl 8001e18 <d_source_name>
- 8003380: 0005 movs r5, r0
- 8003382: 0020 movs r0, r4
- 8003384: f000 fdc4 bl 8003f10 <d_template_args_1>
- 8003388: 002a movs r2, r5
- 800338a: 0003 movs r3, r0
- 800338c: 213f movs r1, #63 @ 0x3f
- 800338e: 0020 movs r0, r4
- 8003390: f7fe fa68 bl 8001864 <d_make_comp>
- 8003394: 0005 movs r5, r0
- 8003396: e5bd b.n 8002f14 <d_expression_1+0x60>
- 8003398: 7853 ldrb r3, [r2, #1]
- 800339a: 2b6c cmp r3, #108 @ 0x6c
- 800339c: d000 beq.n 80033a0 <d_expression_1+0x4ec>
- 800339e: e5c2 b.n 8002f26 <d_expression_1+0x72>
- 80033a0: 3202 adds r2, #2
- 80033a2: 60c2 str r2, [r0, #12]
- 80033a4: f7fe fea0 bl 80020e8 <d_type>
- 80033a8: 68e2 ldr r2, [r4, #12]
- 80033aa: 0005 movs r5, r0
- 80033ac: e59f b.n 8002eee <d_expression_1+0x3a>
- 80033ae: 46c0 nop @ (mov r8, r8)
- 080033b0 <d_exprlist>:
- 80033b0: b5f0 push {r4, r5, r6, r7, lr}
- 80033b2: 46c6 mov lr, r8
- 80033b4: 2300 movs r3, #0
- 80033b6: b500 push {lr}
- 80033b8: b082 sub sp, #8
- 80033ba: 9301 str r3, [sp, #4]
- 80033bc: 68c3 ldr r3, [r0, #12]
- 80033be: 0004 movs r4, r0
- 80033c0: 781a ldrb r2, [r3, #0]
- 80033c2: 000e movs r6, r1
- 80033c4: 428a cmp r2, r1
- 80033c6: d023 beq.n 8003410 <d_exprlist+0x60>
- 80033c8: 6b03 ldr r3, [r0, #48] @ 0x30
- 80033ca: 2701 movs r7, #1
- 80033cc: 4698 mov r8, r3
- 80033ce: ad01 add r5, sp, #4
- 80033d0: e00d b.n 80033ee <d_exprlist+0x3e>
- 80033d2: 2300 movs r3, #0
- 80033d4: 212e movs r1, #46 @ 0x2e
- 80033d6: 0020 movs r0, r4
- 80033d8: f7fe fa44 bl 8001864 <d_make_comp>
- 80033dc: 6028 str r0, [r5, #0]
- 80033de: 2800 cmp r0, #0
- 80033e0: d00d beq.n 80033fe <d_exprlist+0x4e>
- 80033e2: 68e3 ldr r3, [r4, #12]
- 80033e4: 3010 adds r0, #16
- 80033e6: 781a ldrb r2, [r3, #0]
- 80033e8: 0005 movs r5, r0
- 80033ea: 42b2 cmp r2, r6
- 80033ec: d00c beq.n 8003408 <d_exprlist+0x58>
- 80033ee: 0020 movs r0, r4
- 80033f0: 6327 str r7, [r4, #48] @ 0x30
- 80033f2: f7ff fd5f bl 8002eb4 <d_expression_1>
- 80033f6: 4643 mov r3, r8
- 80033f8: 1e02 subs r2, r0, #0
- 80033fa: 6323 str r3, [r4, #48] @ 0x30
- 80033fc: d1e9 bne.n 80033d2 <d_exprlist+0x22>
- 80033fe: 2000 movs r0, #0
- 8003400: b002 add sp, #8
- 8003402: bc80 pop {r7}
- 8003404: 46b8 mov r8, r7
- 8003406: bdf0 pop {r4, r5, r6, r7, pc}
- 8003408: 3301 adds r3, #1
- 800340a: 9801 ldr r0, [sp, #4]
- 800340c: 60e3 str r3, [r4, #12]
- 800340e: e7f7 b.n 8003400 <d_exprlist+0x50>
- 8003410: 3301 adds r3, #1
- 8003412: 2200 movs r2, #0
- 8003414: 212e movs r1, #46 @ 0x2e
- 8003416: 60c3 str r3, [r0, #12]
- 8003418: 2300 movs r3, #0
- 800341a: f7fe fa23 bl 8001864 <d_make_comp>
- 800341e: e7ef b.n 8003400 <d_exprlist+0x50>
- 08003420 <d_cv_qualifiers>:
- 8003420: b5f0 push {r4, r5, r6, r7, lr}
- 8003422: 4657 mov r7, sl
- 8003424: 464e mov r6, r9
- 8003426: 4645 mov r5, r8
- 8003428: 46de mov lr, fp
- 800342a: 0004 movs r4, r0
- 800342c: 0010 movs r0, r2
- 800342e: b5e0 push {r5, r6, r7, lr}
- 8003430: b083 sub sp, #12
- 8003432: 0003 movs r3, r0
- 8003434: 9201 str r2, [sp, #4]
- 8003436: 2201 movs r2, #1
- 8003438: 68e5 ldr r5, [r4, #12]
- 800343a: 468a mov sl, r1
- 800343c: 782e ldrb r6, [r5, #0]
- 800343e: 211b movs r1, #27
- 8003440: 4013 ands r3, r2
- 8003442: 4202 tst r2, r0
- 8003444: d000 beq.n 8003448 <d_cv_qualifiers+0x28>
- 8003446: 211e movs r1, #30
- 8003448: b2ca uxtb r2, r1
- 800344a: 4693 mov fp, r2
- 800344c: 221a movs r2, #26
- 800344e: 2b00 cmp r3, #0
- 8003450: d000 beq.n 8003454 <d_cv_qualifiers+0x34>
- 8003452: 221d movs r2, #29
- 8003454: b2d2 uxtb r2, r2
- 8003456: 4691 mov r9, r2
- 8003458: 2219 movs r2, #25
- 800345a: 2b00 cmp r3, #0
- 800345c: d000 beq.n 8003460 <d_cv_qualifiers+0x40>
- 800345e: 221c movs r2, #28
- 8003460: b2d3 uxtb r3, r2
- 8003462: 4698 mov r8, r3
- 8003464: 4657 mov r7, sl
- 8003466: e01d b.n 80034a4 <d_cv_qualifiers+0x84>
- 8003468: 2e56 cmp r6, #86 @ 0x56
- 800346a: d039 beq.n 80034e0 <d_cv_qualifiers+0xc0>
- 800346c: 2e4b cmp r6, #75 @ 0x4b
- 800346e: d03d beq.n 80034ec <d_cv_qualifiers+0xcc>
- 8003470: 786b ldrb r3, [r5, #1]
- 8003472: 2b00 cmp r3, #0
- 8003474: d02b beq.n 80034ce <d_cv_qualifiers+0xae>
- 8003476: 1cab adds r3, r5, #2
- 8003478: 60e3 str r3, [r4, #12]
- 800347a: 786b ldrb r3, [r5, #1]
- 800347c: 2b78 cmp r3, #120 @ 0x78
- 800347e: d03b beq.n 80034f8 <d_cv_qualifiers+0xd8>
- 8003480: 2b6f cmp r3, #111 @ 0x6f
- 8003482: d15b bne.n 800353c <d_cv_qualifiers+0x11c>
- 8003484: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8003486: 2150 movs r1, #80 @ 0x50
- 8003488: 3309 adds r3, #9
- 800348a: 62e3 str r3, [r4, #44] @ 0x2c
- 800348c: 2300 movs r3, #0
- 800348e: 2200 movs r2, #0
- 8003490: 0020 movs r0, r4
- 8003492: f7fe f9e7 bl 8001864 <d_make_comp>
- 8003496: 6038 str r0, [r7, #0]
- 8003498: 2800 cmp r0, #0
- 800349a: d018 beq.n 80034ce <d_cv_qualifiers+0xae>
- 800349c: 300c adds r0, #12
- 800349e: 0007 movs r7, r0
- 80034a0: 68e5 ldr r5, [r4, #12]
- 80034a2: 782e ldrb r6, [r5, #0]
- 80034a4: 0028 movs r0, r5
- 80034a6: f7fe fb81 bl 8001bac <next_is_type_qual.isra.0>
- 80034aa: 2800 cmp r0, #0
- 80034ac: d02a beq.n 8003504 <d_cv_qualifiers+0xe4>
- 80034ae: 1c6b adds r3, r5, #1
- 80034b0: 60e3 str r3, [r4, #12]
- 80034b2: 2e72 cmp r6, #114 @ 0x72
- 80034b4: d1d8 bne.n 8003468 <d_cv_qualifiers+0x48>
- 80034b6: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 80034b8: 4641 mov r1, r8
- 80034ba: 3309 adds r3, #9
- 80034bc: 62e3 str r3, [r4, #44] @ 0x2c
- 80034be: 2200 movs r2, #0
- 80034c0: 2300 movs r3, #0
- 80034c2: 0020 movs r0, r4
- 80034c4: f7fe f9ce bl 8001864 <d_make_comp>
- 80034c8: 6038 str r0, [r7, #0]
- 80034ca: 2800 cmp r0, #0
- 80034cc: d1e6 bne.n 800349c <d_cv_qualifiers+0x7c>
- 80034ce: 2700 movs r7, #0
- 80034d0: 0038 movs r0, r7
- 80034d2: b003 add sp, #12
- 80034d4: bcf0 pop {r4, r5, r6, r7}
- 80034d6: 46bb mov fp, r7
- 80034d8: 46b2 mov sl, r6
- 80034da: 46a9 mov r9, r5
- 80034dc: 46a0 mov r8, r4
- 80034de: bdf0 pop {r4, r5, r6, r7, pc}
- 80034e0: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 80034e2: 4649 mov r1, r9
- 80034e4: 3309 adds r3, #9
- 80034e6: 62e3 str r3, [r4, #44] @ 0x2c
- 80034e8: 2300 movs r3, #0
- 80034ea: e7d0 b.n 800348e <d_cv_qualifiers+0x6e>
- 80034ec: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 80034ee: 4659 mov r1, fp
- 80034f0: 3306 adds r3, #6
- 80034f2: 62e3 str r3, [r4, #44] @ 0x2c
- 80034f4: 2300 movs r3, #0
- 80034f6: e7ca b.n 800348e <d_cv_qualifiers+0x6e>
- 80034f8: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 80034fa: 214e movs r1, #78 @ 0x4e
- 80034fc: 3311 adds r3, #17
- 80034fe: 62e3 str r3, [r4, #44] @ 0x2c
- 8003500: 2300 movs r3, #0
- 8003502: e7c4 b.n 800348e <d_cv_qualifiers+0x6e>
- 8003504: 9b01 ldr r3, [sp, #4]
- 8003506: 2b00 cmp r3, #0
- 8003508: d1e2 bne.n 80034d0 <d_cv_qualifiers+0xb0>
- 800350a: 2e46 cmp r6, #70 @ 0x46
- 800350c: d1e0 bne.n 80034d0 <d_cv_qualifiers+0xb0>
- 800350e: 4557 cmp r7, sl
- 8003510: d0de beq.n 80034d0 <d_cv_qualifiers+0xb0>
- 8003512: 241d movs r4, #29
- 8003514: 211c movs r1, #28
- 8003516: 301e adds r0, #30
- 8003518: e009 b.n 800352e <d_cv_qualifiers+0x10e>
- 800351a: 2a1b cmp r2, #27
- 800351c: d036 beq.n 800358c <d_cv_qualifiers+0x16c>
- 800351e: 2a19 cmp r2, #25
- 8003520: d100 bne.n 8003524 <d_cv_qualifiers+0x104>
- 8003522: 7019 strb r1, [r3, #0]
- 8003524: 220c movs r2, #12
- 8003526: 4692 mov sl, r2
- 8003528: 449a add sl, r3
- 800352a: 4557 cmp r7, sl
- 800352c: d0d0 beq.n 80034d0 <d_cv_qualifiers+0xb0>
- 800352e: 4653 mov r3, sl
- 8003530: 681b ldr r3, [r3, #0]
- 8003532: 781a ldrb r2, [r3, #0]
- 8003534: 2a1a cmp r2, #26
- 8003536: d1f0 bne.n 800351a <d_cv_qualifiers+0xfa>
- 8003538: 701c strb r4, [r3, #0]
- 800353a: e7f3 b.n 8003524 <d_cv_qualifiers+0x104>
- 800353c: 2b4f cmp r3, #79 @ 0x4f
- 800353e: d113 bne.n 8003568 <d_cv_qualifiers+0x148>
- 8003540: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8003542: 6b25 ldr r5, [r4, #48] @ 0x30
- 8003544: 3309 adds r3, #9
- 8003546: 62e3 str r3, [r4, #44] @ 0x2c
- 8003548: 2301 movs r3, #1
- 800354a: 0020 movs r0, r4
- 800354c: 6323 str r3, [r4, #48] @ 0x30
- 800354e: f7ff fcb1 bl 8002eb4 <d_expression_1>
- 8003552: 6325 str r5, [r4, #48] @ 0x30
- 8003554: 1e03 subs r3, r0, #0
- 8003556: d0ba beq.n 80034ce <d_cv_qualifiers+0xae>
- 8003558: 68e2 ldr r2, [r4, #12]
- 800355a: 7811 ldrb r1, [r2, #0]
- 800355c: 2945 cmp r1, #69 @ 0x45
- 800355e: d1b6 bne.n 80034ce <d_cv_qualifiers+0xae>
- 8003560: 3201 adds r2, #1
- 8003562: 60e2 str r2, [r4, #12]
- 8003564: 310b adds r1, #11
- 8003566: e792 b.n 800348e <d_cv_qualifiers+0x6e>
- 8003568: 2b77 cmp r3, #119 @ 0x77
- 800356a: d1b0 bne.n 80034ce <d_cv_qualifiers+0xae>
- 800356c: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 800356e: 0020 movs r0, r4
- 8003570: 3306 adds r3, #6
- 8003572: 62e3 str r3, [r4, #44] @ 0x2c
- 8003574: f7ff f93e bl 80027f4 <d_parmlist>
- 8003578: 1e03 subs r3, r0, #0
- 800357a: d0a8 beq.n 80034ce <d_cv_qualifiers+0xae>
- 800357c: 68e2 ldr r2, [r4, #12]
- 800357e: 7811 ldrb r1, [r2, #0]
- 8003580: 2945 cmp r1, #69 @ 0x45
- 8003582: d1a4 bne.n 80034ce <d_cv_qualifiers+0xae>
- 8003584: 3201 adds r2, #1
- 8003586: 60e2 str r2, [r4, #12]
- 8003588: 310c adds r1, #12
- 800358a: e780 b.n 800348e <d_cv_qualifiers+0x6e>
- 800358c: 7018 strb r0, [r3, #0]
- 800358e: e7c9 b.n 8003524 <d_cv_qualifiers+0x104>
- 08003590 <d_name>:
- 8003590: b5f0 push {r4, r5, r6, r7, lr}
- 8003592: 46ce mov lr, r9
- 8003594: 4647 mov r7, r8
- 8003596: b580 push {r7, lr}
- 8003598: 68c2 ldr r2, [r0, #12]
- 800359a: 0004 movs r4, r0
- 800359c: 7813 ldrb r3, [r2, #0]
- 800359e: 000e movs r6, r1
- 80035a0: b083 sub sp, #12
- 80035a2: 2b55 cmp r3, #85 @ 0x55
- 80035a4: d100 bne.n 80035a8 <d_name+0x18>
- 80035a6: e079 b.n 800369c <d_name+0x10c>
- 80035a8: d838 bhi.n 800361c <d_name+0x8c>
- 80035aa: 2b4e cmp r3, #78 @ 0x4e
- 80035ac: d100 bne.n 80035b0 <d_name+0x20>
- 80035ae: e08f b.n 80036d0 <d_name+0x140>
- 80035b0: 2b53 cmp r3, #83 @ 0x53
- 80035b2: d164 bne.n 800367e <d_name+0xee>
- 80035b4: 7853 ldrb r3, [r2, #1]
- 80035b6: 2700 movs r7, #0
- 80035b8: 2b74 cmp r3, #116 @ 0x74
- 80035ba: d100 bne.n 80035be <d_name+0x2e>
- 80035bc: e0ae b.n 800371c <d_name+0x18c>
- 80035be: 2100 movs r1, #0
- 80035c0: 0020 movs r0, r4
- 80035c2: f7fe fc9f bl 8001f04 <d_substitution>
- 80035c6: 1e05 subs r5, r0, #0
- 80035c8: d057 beq.n 800367a <d_name+0xea>
- 80035ca: 7803 ldrb r3, [r0, #0]
- 80035cc: 3b53 subs r3, #83 @ 0x53
- 80035ce: 2b01 cmp r3, #1
- 80035d0: d957 bls.n 8003682 <d_name+0xf2>
- 80035d2: 2f00 cmp r7, #0
- 80035d4: d151 bne.n 800367a <d_name+0xea>
- 80035d6: 68e2 ldr r2, [r4, #12]
- 80035d8: 7813 ldrb r3, [r2, #0]
- 80035da: 2b49 cmp r3, #73 @ 0x49
- 80035dc: d118 bne.n 8003610 <d_name+0x80>
- 80035de: 3201 adds r2, #1
- 80035e0: 0020 movs r0, r4
- 80035e2: 60e2 str r2, [r4, #12]
- 80035e4: f000 fc94 bl 8003f10 <d_template_args_1>
- 80035e8: 0003 movs r3, r0
- 80035ea: 002a movs r2, r5
- 80035ec: 2104 movs r1, #4
- 80035ee: 0020 movs r0, r4
- 80035f0: f7fe f938 bl 8001864 <d_make_comp>
- 80035f4: 0005 movs r5, r0
- 80035f6: 2e00 cmp r6, #0
- 80035f8: d00a beq.n 8003610 <d_name+0x80>
- 80035fa: 2d00 cmp r5, #0
- 80035fc: d03d beq.n 800367a <d_name+0xea>
- 80035fe: 6a23 ldr r3, [r4, #32]
- 8003600: 6a62 ldr r2, [r4, #36] @ 0x24
- 8003602: 4293 cmp r3, r2
- 8003604: da39 bge.n 800367a <d_name+0xea>
- 8003606: 69e2 ldr r2, [r4, #28]
- 8003608: 0099 lsls r1, r3, #2
- 800360a: 3301 adds r3, #1
- 800360c: 508d str r5, [r1, r2]
- 800360e: 6223 str r3, [r4, #32]
- 8003610: 0028 movs r0, r5
- 8003612: b003 add sp, #12
- 8003614: bcc0 pop {r6, r7}
- 8003616: 46b9 mov r9, r7
- 8003618: 46b0 mov r8, r6
- 800361a: bdf0 pop {r4, r5, r6, r7, pc}
- 800361c: 2b5a cmp r3, #90 @ 0x5a
- 800361e: d12e bne.n 800367e <d_name+0xee>
- 8003620: 1c53 adds r3, r2, #1
- 8003622: 60c3 str r3, [r0, #12]
- 8003624: 7853 ldrb r3, [r2, #1]
- 8003626: 2b47 cmp r3, #71 @ 0x47
- 8003628: d001 beq.n 800362e <d_name+0x9e>
- 800362a: 2b54 cmp r3, #84 @ 0x54
- 800362c: d171 bne.n 8003712 <d_name+0x182>
- 800362e: 0020 movs r0, r4
- 8003630: f000 f9a0 bl 8003974 <d_special_name>
- 8003634: 0005 movs r5, r0
- 8003636: 2d00 cmp r5, #0
- 8003638: d01f beq.n 800367a <d_name+0xea>
- 800363a: 68e3 ldr r3, [r4, #12]
- 800363c: 781a ldrb r2, [r3, #0]
- 800363e: 2a45 cmp r2, #69 @ 0x45
- 8003640: d11b bne.n 800367a <d_name+0xea>
- 8003642: 1c5a adds r2, r3, #1
- 8003644: 60e2 str r2, [r4, #12]
- 8003646: 785a ldrb r2, [r3, #1]
- 8003648: 2a73 cmp r2, #115 @ 0x73
- 800364a: d100 bne.n 800364e <d_name+0xbe>
- 800364c: e0f4 b.n 8003838 <d_name+0x2a8>
- 800364e: 2a64 cmp r2, #100 @ 0x64
- 8003650: d100 bne.n 8003654 <d_name+0xc4>
- 8003652: e09a b.n 800378a <d_name+0x1fa>
- 8003654: 2100 movs r1, #0
- 8003656: 0020 movs r0, r4
- 8003658: f7ff ff9a bl 8003590 <d_name>
- 800365c: 1e07 subs r7, r0, #0
- 800365e: d100 bne.n 8003662 <d_name+0xd2>
- 8003660: e0e8 b.n 8003834 <d_name+0x2a4>
- 8003662: 22fd movs r2, #253 @ 0xfd
- 8003664: 7803 ldrb r3, [r0, #0]
- 8003666: 3b47 subs r3, #71 @ 0x47
- 8003668: 4213 tst r3, r2
- 800366a: d100 bne.n 800366e <d_name+0xde>
- 800366c: e0c9 b.n 8003802 <d_name+0x272>
- 800366e: 0020 movs r0, r4
- 8003670: f7fe f9ca bl 8001a08 <d_discriminator>
- 8003674: 2800 cmp r0, #0
- 8003676: d000 beq.n 800367a <d_name+0xea>
- 8003678: e0c3 b.n 8003802 <d_name+0x272>
- 800367a: 2500 movs r5, #0
- 800367c: e7c8 b.n 8003610 <d_name+0x80>
- 800367e: 2500 movs r5, #0
- 8003680: 2700 movs r7, #0
- 8003682: 002a movs r2, r5
- 8003684: 0039 movs r1, r7
- 8003686: 0020 movs r0, r4
- 8003688: f7ff fa4a bl 8002b20 <d_unqualified_name>
- 800368c: 68e2 ldr r2, [r4, #12]
- 800368e: 0005 movs r5, r0
- 8003690: 7813 ldrb r3, [r2, #0]
- 8003692: 2b49 cmp r3, #73 @ 0x49
- 8003694: d00a beq.n 80036ac <d_name+0x11c>
- 8003696: 2e00 cmp r6, #0
- 8003698: d0ba beq.n 8003610 <d_name+0x80>
- 800369a: e7ae b.n 80035fa <d_name+0x6a>
- 800369c: 2200 movs r2, #0
- 800369e: 2100 movs r1, #0
- 80036a0: f7ff fa3e bl 8002b20 <d_unqualified_name>
- 80036a4: 0005 movs r5, r0
- 80036a6: 2e00 cmp r6, #0
- 80036a8: d1a7 bne.n 80035fa <d_name+0x6a>
- 80036aa: e7b1 b.n 8003610 <d_name+0x80>
- 80036ac: 2800 cmp r0, #0
- 80036ae: d0e4 beq.n 800367a <d_name+0xea>
- 80036b0: 6a23 ldr r3, [r4, #32]
- 80036b2: 6a61 ldr r1, [r4, #36] @ 0x24
- 80036b4: 428b cmp r3, r1
- 80036b6: dae0 bge.n 800367a <d_name+0xea>
- 80036b8: 69e1 ldr r1, [r4, #28]
- 80036ba: 0098 lsls r0, r3, #2
- 80036bc: 3301 adds r3, #1
- 80036be: 5045 str r5, [r0, r1]
- 80036c0: 6223 str r3, [r4, #32]
- 80036c2: 7811 ldrb r1, [r2, #0]
- 80036c4: 2300 movs r3, #0
- 80036c6: 3949 subs r1, #73 @ 0x49
- 80036c8: 2901 cmp r1, #1
- 80036ca: d900 bls.n 80036ce <d_name+0x13e>
- 80036cc: e78d b.n 80035ea <d_name+0x5a>
- 80036ce: e786 b.n 80035de <d_name+0x4e>
- 80036d0: 3201 adds r2, #1
- 80036d2: 60c2 str r2, [r0, #12]
- 80036d4: a901 add r1, sp, #4
- 80036d6: 2201 movs r2, #1
- 80036d8: f7ff fea2 bl 8003420 <d_cv_qualifiers>
- 80036dc: 1e05 subs r5, r0, #0
- 80036de: d0cc beq.n 800367a <d_name+0xea>
- 80036e0: 68e3 ldr r3, [r4, #12]
- 80036e2: 781a ldrb r2, [r3, #0]
- 80036e4: 2a52 cmp r2, #82 @ 0x52
- 80036e6: d100 bne.n 80036ea <d_name+0x15a>
- 80036e8: e099 b.n 800381e <d_name+0x28e>
- 80036ea: 2a4f cmp r2, #79 @ 0x4f
- 80036ec: d033 beq.n 8003756 <d_name+0x1c6>
- 80036ee: 2101 movs r1, #1
- 80036f0: 0020 movs r0, r4
- 80036f2: f000 fc3d bl 8003f70 <d_prefix>
- 80036f6: 6028 str r0, [r5, #0]
- 80036f8: 2800 cmp r0, #0
- 80036fa: d0be beq.n 800367a <d_name+0xea>
- 80036fc: 68e3 ldr r3, [r4, #12]
- 80036fe: 781a ldrb r2, [r3, #0]
- 8003700: 2a45 cmp r2, #69 @ 0x45
- 8003702: d1ba bne.n 800367a <d_name+0xea>
- 8003704: 3301 adds r3, #1
- 8003706: 9d01 ldr r5, [sp, #4]
- 8003708: 60e3 str r3, [r4, #12]
- 800370a: 2e00 cmp r6, #0
- 800370c: d000 beq.n 8003710 <d_name+0x180>
- 800370e: e774 b.n 80035fa <d_name+0x6a>
- 8003710: e77e b.n 8003610 <d_name+0x80>
- 8003712: 2100 movs r1, #0
- 8003714: f000 f8b4 bl 8003880 <d_encoding.part.0>
- 8003718: 0005 movs r5, r0
- 800371a: e78c b.n 8003636 <d_name+0xa6>
- 800371c: 1c93 adds r3, r2, #2
- 800371e: 60c3 str r3, [r0, #12]
- 8003720: 6981 ldr r1, [r0, #24]
- 8003722: 6943 ldr r3, [r0, #20]
- 8003724: 428b cmp r3, r1
- 8003726: da0e bge.n 8003746 <d_name+0x1b6>
- 8003728: 0099 lsls r1, r3, #2
- 800372a: 18c9 adds r1, r1, r3
- 800372c: 3301 adds r3, #1
- 800372e: 6143 str r3, [r0, #20]
- 8003730: 2300 movs r3, #0
- 8003732: 6907 ldr r7, [r0, #16]
- 8003734: 0089 lsls r1, r1, #2
- 8003736: 187f adds r7, r7, r1
- 8003738: 607b str r3, [r7, #4]
- 800373a: 60bb str r3, [r7, #8]
- 800373c: 703b strb r3, [r7, #0]
- 800373e: 4b4e ldr r3, [pc, #312] @ (8003878 <d_name+0x2e8>)
- 8003740: 60fb str r3, [r7, #12]
- 8003742: 2303 movs r3, #3
- 8003744: 613b str r3, [r7, #16]
- 8003746: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8003748: 2500 movs r5, #0
- 800374a: 3303 adds r3, #3
- 800374c: 62e3 str r3, [r4, #44] @ 0x2c
- 800374e: 7893 ldrb r3, [r2, #2]
- 8003750: 2b53 cmp r3, #83 @ 0x53
- 8003752: d196 bne.n 8003682 <d_name+0xf2>
- 8003754: e733 b.n 80035be <d_name+0x2e>
- 8003756: 2120 movs r1, #32
- 8003758: 6ae2 ldr r2, [r4, #44] @ 0x2c
- 800375a: 3203 adds r2, #3
- 800375c: 3301 adds r3, #1
- 800375e: 62e2 str r2, [r4, #44] @ 0x2c
- 8003760: 60e3 str r3, [r4, #12]
- 8003762: 2200 movs r2, #0
- 8003764: 2300 movs r3, #0
- 8003766: 0020 movs r0, r4
- 8003768: f7fe f87c bl 8001864 <d_make_comp>
- 800376c: 2101 movs r1, #1
- 800376e: 0007 movs r7, r0
- 8003770: 0020 movs r0, r4
- 8003772: f000 fbfd bl 8003f70 <d_prefix>
- 8003776: 6028 str r0, [r5, #0]
- 8003778: 2800 cmp r0, #0
- 800377a: d100 bne.n 800377e <d_name+0x1ee>
- 800377c: e77d b.n 800367a <d_name+0xea>
- 800377e: 2f00 cmp r7, #0
- 8003780: d0bc beq.n 80036fc <d_name+0x16c>
- 8003782: 9b01 ldr r3, [sp, #4]
- 8003784: 9701 str r7, [sp, #4]
- 8003786: 60fb str r3, [r7, #12]
- 8003788: e7b8 b.n 80036fc <d_name+0x16c>
- 800378a: 1c9a adds r2, r3, #2
- 800378c: 60e2 str r2, [r4, #12]
- 800378e: 789b ldrb r3, [r3, #2]
- 8003790: 2b5f cmp r3, #95 @ 0x5f
- 8003792: d06d beq.n 8003870 <d_name+0x2e0>
- 8003794: 2b6e cmp r3, #110 @ 0x6e
- 8003796: d100 bne.n 800379a <d_name+0x20a>
- 8003798: e76f b.n 800367a <d_name+0xea>
- 800379a: 0020 movs r0, r4
- 800379c: f7fe f8ce bl 800193c <d_number>
- 80037a0: 1c43 adds r3, r0, #1
- 80037a2: d500 bpl.n 80037a6 <d_name+0x216>
- 80037a4: e769 b.n 800367a <d_name+0xea>
- 80037a6: 68e2 ldr r2, [r4, #12]
- 80037a8: 4699 mov r9, r3
- 80037aa: 7813 ldrb r3, [r2, #0]
- 80037ac: 2b5f cmp r3, #95 @ 0x5f
- 80037ae: d000 beq.n 80037b2 <d_name+0x222>
- 80037b0: e763 b.n 800367a <d_name+0xea>
- 80037b2: 3201 adds r2, #1
- 80037b4: 2100 movs r1, #0
- 80037b6: 0020 movs r0, r4
- 80037b8: 60e2 str r2, [r4, #12]
- 80037ba: f7ff fee9 bl 8003590 <d_name>
- 80037be: 4680 mov r8, r0
- 80037c0: 2800 cmp r0, #0
- 80037c2: d00a beq.n 80037da <d_name+0x24a>
- 80037c4: 22fd movs r2, #253 @ 0xfd
- 80037c6: 7803 ldrb r3, [r0, #0]
- 80037c8: 3b47 subs r3, #71 @ 0x47
- 80037ca: 4213 tst r3, r2
- 80037cc: d005 beq.n 80037da <d_name+0x24a>
- 80037ce: 0020 movs r0, r4
- 80037d0: f7fe f91a bl 8001a08 <d_discriminator>
- 80037d4: 2800 cmp r0, #0
- 80037d6: d100 bne.n 80037da <d_name+0x24a>
- 80037d8: e74f b.n 800367a <d_name+0xea>
- 80037da: 6963 ldr r3, [r4, #20]
- 80037dc: 69a2 ldr r2, [r4, #24]
- 80037de: 4293 cmp r3, r2
- 80037e0: da28 bge.n 8003834 <d_name+0x2a4>
- 80037e2: 009a lsls r2, r3, #2
- 80037e4: 6927 ldr r7, [r4, #16]
- 80037e6: 18d2 adds r2, r2, r3
- 80037e8: 0092 lsls r2, r2, #2
- 80037ea: 18bf adds r7, r7, r2
- 80037ec: 2200 movs r2, #0
- 80037ee: 3301 adds r3, #1
- 80037f0: 607a str r2, [r7, #4]
- 80037f2: 60ba str r2, [r7, #8]
- 80037f4: 6163 str r3, [r4, #20]
- 80037f6: 2348 movs r3, #72 @ 0x48
- 80037f8: 703b strb r3, [r7, #0]
- 80037fa: 464b mov r3, r9
- 80037fc: 613b str r3, [r7, #16]
- 80037fe: 4643 mov r3, r8
- 8003800: 60fb str r3, [r7, #12]
- 8003802: 782b ldrb r3, [r5, #0]
- 8003804: 2b03 cmp r3, #3
- 8003806: d00e beq.n 8003826 <d_name+0x296>
- 8003808: 002a movs r2, r5
- 800380a: 003b movs r3, r7
- 800380c: 2102 movs r1, #2
- 800380e: 0020 movs r0, r4
- 8003810: f7fe f828 bl 8001864 <d_make_comp>
- 8003814: 0005 movs r5, r0
- 8003816: 2e00 cmp r6, #0
- 8003818: d000 beq.n 800381c <d_name+0x28c>
- 800381a: e6ee b.n 80035fa <d_name+0x6a>
- 800381c: e6f8 b.n 8003610 <d_name+0x80>
- 800381e: 6ae2 ldr r2, [r4, #44] @ 0x2c
- 8003820: 211f movs r1, #31
- 8003822: 3202 adds r2, #2
- 8003824: e79a b.n 800375c <d_name+0x1cc>
- 8003826: 692b ldr r3, [r5, #16]
- 8003828: 781a ldrb r2, [r3, #0]
- 800382a: 2a29 cmp r2, #41 @ 0x29
- 800382c: d1ec bne.n 8003808 <d_name+0x278>
- 800382e: 2200 movs r2, #0
- 8003830: 60da str r2, [r3, #12]
- 8003832: e7e9 b.n 8003808 <d_name+0x278>
- 8003834: 2700 movs r7, #0
- 8003836: e7e4 b.n 8003802 <d_name+0x272>
- 8003838: 3302 adds r3, #2
- 800383a: 0020 movs r0, r4
- 800383c: 60e3 str r3, [r4, #12]
- 800383e: f7fe f8e3 bl 8001a08 <d_discriminator>
- 8003842: 2800 cmp r0, #0
- 8003844: d100 bne.n 8003848 <d_name+0x2b8>
- 8003846: e718 b.n 800367a <d_name+0xea>
- 8003848: 6963 ldr r3, [r4, #20]
- 800384a: 69a2 ldr r2, [r4, #24]
- 800384c: 4293 cmp r3, r2
- 800384e: daf1 bge.n 8003834 <d_name+0x2a4>
- 8003850: 009a lsls r2, r3, #2
- 8003852: 18d2 adds r2, r2, r3
- 8003854: 3301 adds r3, #1
- 8003856: 6163 str r3, [r4, #20]
- 8003858: 2300 movs r3, #0
- 800385a: 6927 ldr r7, [r4, #16]
- 800385c: 0092 lsls r2, r2, #2
- 800385e: 18bf adds r7, r7, r2
- 8003860: 607b str r3, [r7, #4]
- 8003862: 60bb str r3, [r7, #8]
- 8003864: 703b strb r3, [r7, #0]
- 8003866: 4b05 ldr r3, [pc, #20] @ (800387c <d_name+0x2ec>)
- 8003868: 60fb str r3, [r7, #12]
- 800386a: 230e movs r3, #14
- 800386c: 613b str r3, [r7, #16]
- 800386e: e7c8 b.n 8003802 <d_name+0x272>
- 8003870: 2300 movs r3, #0
- 8003872: 4699 mov r9, r3
- 8003874: e79d b.n 80037b2 <d_name+0x222>
- 8003876: 46c0 nop @ (mov r8, r8)
- 8003878: 08014134 .word 0x08014134
- 800387c: 08014124 .word 0x08014124
- 08003880 <d_encoding.part.0>:
- 8003880: b570 push {r4, r5, r6, lr}
- 8003882: 000e movs r6, r1
- 8003884: 2100 movs r1, #0
- 8003886: 0005 movs r5, r0
- 8003888: f7ff fe82 bl 8003590 <d_name>
- 800388c: 1e04 subs r4, r0, #0
- 800388e: d048 beq.n 8003922 <d_encoding.part.0+0xa2>
- 8003890: 2e00 cmp r6, #0
- 8003892: d018 beq.n 80038c6 <d_encoding.part.0+0x46>
- 8003894: 68ab ldr r3, [r5, #8]
- 8003896: 07db lsls r3, r3, #31
- 8003898: d415 bmi.n 80038c6 <d_encoding.part.0+0x46>
- 800389a: 7823 ldrb r3, [r4, #0]
- 800389c: 2b4e cmp r3, #78 @ 0x4e
- 800389e: d037 beq.n 8003910 <d_encoding.part.0+0x90>
- 80038a0: d833 bhi.n 800390a <d_encoding.part.0+0x8a>
- 80038a2: 001a movs r2, r3
- 80038a4: 3a1c subs r2, #28
- 80038a6: 2a04 cmp r2, #4
- 80038a8: d932 bls.n 8003910 <d_encoding.part.0+0x90>
- 80038aa: 2b02 cmp r3, #2
- 80038ac: d109 bne.n 80038c2 <d_encoding.part.0+0x42>
- 80038ae: 6922 ldr r2, [r4, #16]
- 80038b0: 2a00 cmp r2, #0
- 80038b2: d036 beq.n 8003922 <d_encoding.part.0+0xa2>
- 80038b4: 7813 ldrb r3, [r2, #0]
- 80038b6: 2b4e cmp r3, #78 @ 0x4e
- 80038b8: d02f beq.n 800391a <d_encoding.part.0+0x9a>
- 80038ba: d82b bhi.n 8003914 <d_encoding.part.0+0x94>
- 80038bc: 3b1c subs r3, #28
- 80038be: 2b04 cmp r3, #4
- 80038c0: d92b bls.n 800391a <d_encoding.part.0+0x9a>
- 80038c2: 0020 movs r0, r4
- 80038c4: bd70 pop {r4, r5, r6, pc}
- 80038c6: 68eb ldr r3, [r5, #12]
- 80038c8: 781b ldrb r3, [r3, #0]
- 80038ca: 2b00 cmp r3, #0
- 80038cc: d0f9 beq.n 80038c2 <d_encoding.part.0+0x42>
- 80038ce: 2b45 cmp r3, #69 @ 0x45
- 80038d0: d0f7 beq.n 80038c2 <d_encoding.part.0+0x42>
- 80038d2: 0022 movs r2, r4
- 80038d4: 7813 ldrb r3, [r2, #0]
- 80038d6: 2b04 cmp r3, #4
- 80038d8: d02d beq.n 8003936 <d_encoding.part.0+0xb6>
- 80038da: d824 bhi.n 8003926 <d_encoding.part.0+0xa6>
- 80038dc: 2b02 cmp r3, #2
- 80038de: d102 bne.n 80038e6 <d_encoding.part.0+0x66>
- 80038e0: 6912 ldr r2, [r2, #16]
- 80038e2: 2a00 cmp r2, #0
- 80038e4: d1f6 bne.n 80038d4 <d_encoding.part.0+0x54>
- 80038e6: 2100 movs r1, #0
- 80038e8: 0028 movs r0, r5
- 80038ea: f7fe ffc5 bl 8002878 <d_bare_function_type>
- 80038ee: 1e03 subs r3, r0, #0
- 80038f0: d017 beq.n 8003922 <d_encoding.part.0+0xa2>
- 80038f2: 2e00 cmp r6, #0
- 80038f4: d102 bne.n 80038fc <d_encoding.part.0+0x7c>
- 80038f6: 7822 ldrb r2, [r4, #0]
- 80038f8: 2a02 cmp r2, #2
- 80038fa: d031 beq.n 8003960 <d_encoding.part.0+0xe0>
- 80038fc: 0022 movs r2, r4
- 80038fe: 2103 movs r1, #3
- 8003900: 0028 movs r0, r5
- 8003902: f7fd ffaf bl 8001864 <d_make_comp>
- 8003906: 0004 movs r4, r0
- 8003908: e7db b.n 80038c2 <d_encoding.part.0+0x42>
- 800390a: 3b50 subs r3, #80 @ 0x50
- 800390c: 2b01 cmp r3, #1
- 800390e: d8d8 bhi.n 80038c2 <d_encoding.part.0+0x42>
- 8003910: 68e4 ldr r4, [r4, #12]
- 8003912: e7c2 b.n 800389a <d_encoding.part.0+0x1a>
- 8003914: 3b50 subs r3, #80 @ 0x50
- 8003916: 2b01 cmp r3, #1
- 8003918: d8d3 bhi.n 80038c2 <d_encoding.part.0+0x42>
- 800391a: 68d2 ldr r2, [r2, #12]
- 800391c: 6122 str r2, [r4, #16]
- 800391e: 2a00 cmp r2, #0
- 8003920: d1c8 bne.n 80038b4 <d_encoding.part.0+0x34>
- 8003922: 2400 movs r4, #0
- 8003924: e7cd b.n 80038c2 <d_encoding.part.0+0x42>
- 8003926: 2b4e cmp r3, #78 @ 0x4e
- 8003928: d003 beq.n 8003932 <d_encoding.part.0+0xb2>
- 800392a: d814 bhi.n 8003956 <d_encoding.part.0+0xd6>
- 800392c: 3b1c subs r3, #28
- 800392e: 2b04 cmp r3, #4
- 8003930: d8d9 bhi.n 80038e6 <d_encoding.part.0+0x66>
- 8003932: 68d2 ldr r2, [r2, #12]
- 8003934: e7d5 b.n 80038e2 <d_encoding.part.0+0x62>
- 8003936: 68d3 ldr r3, [r2, #12]
- 8003938: 2b00 cmp r3, #0
- 800393a: d00a beq.n 8003952 <d_encoding.part.0+0xd2>
- 800393c: 7819 ldrb r1, [r3, #0]
- 800393e: 2908 cmp r1, #8
- 8003940: d813 bhi.n 800396a <d_encoding.part.0+0xea>
- 8003942: 2906 cmp r1, #6
- 8003944: d8cf bhi.n 80038e6 <d_encoding.part.0+0x66>
- 8003946: 3901 subs r1, #1
- 8003948: 2901 cmp r1, #1
- 800394a: d802 bhi.n 8003952 <d_encoding.part.0+0xd2>
- 800394c: 691b ldr r3, [r3, #16]
- 800394e: 2b00 cmp r3, #0
- 8003950: d1f4 bne.n 800393c <d_encoding.part.0+0xbc>
- 8003952: 2101 movs r1, #1
- 8003954: e7c8 b.n 80038e8 <d_encoding.part.0+0x68>
- 8003956: 3b50 subs r3, #80 @ 0x50
- 8003958: 2b01 cmp r3, #1
- 800395a: d8c4 bhi.n 80038e6 <d_encoding.part.0+0x66>
- 800395c: 68d2 ldr r2, [r2, #12]
- 800395e: e7c0 b.n 80038e2 <d_encoding.part.0+0x62>
- 8003960: 7802 ldrb r2, [r0, #0]
- 8003962: 2a29 cmp r2, #41 @ 0x29
- 8003964: d1ca bne.n 80038fc <d_encoding.part.0+0x7c>
- 8003966: 60c6 str r6, [r0, #12]
- 8003968: e7c8 b.n 80038fc <d_encoding.part.0+0x7c>
- 800396a: 3935 subs r1, #53 @ 0x35
- 800396c: 1e4b subs r3, r1, #1
- 800396e: 4199 sbcs r1, r3
- 8003970: e7ba b.n 80038e8 <d_encoding.part.0+0x68>
- 8003972: 46c0 nop @ (mov r8, r8)
- 08003974 <d_special_name>:
- 8003974: b5f0 push {r4, r5, r6, r7, lr}
- 8003976: 46ce mov lr, r9
- 8003978: 4647 mov r7, r8
- 800397a: 6ac1 ldr r1, [r0, #44] @ 0x2c
- 800397c: b580 push {r7, lr}
- 800397e: 000b movs r3, r1
- 8003980: 3314 adds r3, #20
- 8003982: b083 sub sp, #12
- 8003984: 62c3 str r3, [r0, #44] @ 0x2c
- 8003986: 68c3 ldr r3, [r0, #12]
- 8003988: 0004 movs r4, r0
- 800398a: 781a ldrb r2, [r3, #0]
- 800398c: 2a54 cmp r2, #84 @ 0x54
- 800398e: d01a beq.n 80039c6 <d_special_name+0x52>
- 8003990: 2a47 cmp r2, #71 @ 0x47
- 8003992: d000 beq.n 8003996 <d_special_name+0x22>
- 8003994: e0dc b.n 8003b50 <d_special_name+0x1dc>
- 8003996: 1c5a adds r2, r3, #1
- 8003998: 60c2 str r2, [r0, #12]
- 800399a: 785a ldrb r2, [r3, #1]
- 800399c: 2a00 cmp r2, #0
- 800399e: d100 bne.n 80039a2 <d_special_name+0x2e>
- 80039a0: e0d6 b.n 8003b50 <d_special_name+0x1dc>
- 80039a2: 1c9a adds r2, r3, #2
- 80039a4: 60c2 str r2, [r0, #12]
- 80039a6: 785a ldrb r2, [r3, #1]
- 80039a8: 2a56 cmp r2, #86 @ 0x56
- 80039aa: d900 bls.n 80039ae <d_special_name+0x3a>
- 80039ac: e085 b.n 8003aba <d_special_name+0x146>
- 80039ae: 2a40 cmp r2, #64 @ 0x40
- 80039b0: d800 bhi.n 80039b4 <d_special_name+0x40>
- 80039b2: e0cd b.n 8003b50 <d_special_name+0x1dc>
- 80039b4: 3a41 subs r2, #65 @ 0x41
- 80039b6: b2d2 uxtb r2, r2
- 80039b8: 2a15 cmp r2, #21
- 80039ba: d900 bls.n 80039be <d_special_name+0x4a>
- 80039bc: e0c8 b.n 8003b50 <d_special_name+0x1dc>
- 80039be: 49ce ldr r1, [pc, #824] @ (8003cf8 <d_special_name+0x384>)
- 80039c0: 0092 lsls r2, r2, #2
- 80039c2: 588a ldr r2, [r1, r2]
- 80039c4: 4697 mov pc, r2
- 80039c6: 1c5a adds r2, r3, #1
- 80039c8: 60c2 str r2, [r0, #12]
- 80039ca: 785a ldrb r2, [r3, #1]
- 80039cc: 2a00 cmp r2, #0
- 80039ce: d100 bne.n 80039d2 <d_special_name+0x5e>
- 80039d0: e0be b.n 8003b50 <d_special_name+0x1dc>
- 80039d2: 1c9a adds r2, r3, #2
- 80039d4: 60c2 str r2, [r0, #12]
- 80039d6: 785b ldrb r3, [r3, #1]
- 80039d8: 3b41 subs r3, #65 @ 0x41
- 80039da: b2db uxtb r3, r3
- 80039dc: 2b35 cmp r3, #53 @ 0x35
- 80039de: d900 bls.n 80039e2 <d_special_name+0x6e>
- 80039e0: e0b6 b.n 8003b50 <d_special_name+0x1dc>
- 80039e2: 4ac6 ldr r2, [pc, #792] @ (8003cfc <d_special_name+0x388>)
- 80039e4: 009b lsls r3, r3, #2
- 80039e6: 58d3 ldr r3, [r2, r3]
- 80039e8: 469f mov pc, r3
- 80039ea: 2100 movs r1, #0
- 80039ec: f7ff fdd0 bl 8003590 <d_name>
- 80039f0: 2300 movs r3, #0
- 80039f2: 0002 movs r2, r0
- 80039f4: 2113 movs r1, #19
- 80039f6: 0020 movs r0, r4
- 80039f8: f7fd ff34 bl 8001864 <d_make_comp>
- 80039fc: b003 add sp, #12
- 80039fe: bcc0 pop {r6, r7}
- 8003a00: 46b9 mov r9, r7
- 8003a02: 46b0 mov r8, r6
- 8003a04: bdf0 pop {r4, r5, r6, r7, pc}
- 8003a06: 789a ldrb r2, [r3, #2]
- 8003a08: 2a00 cmp r2, #0
- 8003a0a: d100 bne.n 8003a0e <d_special_name+0x9a>
- 8003a0c: e0a7 b.n 8003b5e <d_special_name+0x1ea>
- 8003a0e: 1cda adds r2, r3, #3
- 8003a10: 60c2 str r2, [r0, #12]
- 8003a12: 789a ldrb r2, [r3, #2]
- 8003a14: 78db ldrb r3, [r3, #3]
- 8003a16: 2a6e cmp r2, #110 @ 0x6e
- 8003a18: d100 bne.n 8003a1c <d_special_name+0xa8>
- 8003a1a: e1a1 b.n 8003d60 <d_special_name+0x3ec>
- 8003a1c: 2b47 cmp r3, #71 @ 0x47
- 8003a1e: d002 beq.n 8003a26 <d_special_name+0xb2>
- 8003a20: 2b54 cmp r3, #84 @ 0x54
- 8003a22: d000 beq.n 8003a26 <d_special_name+0xb2>
- 8003a24: e09b b.n 8003b5e <d_special_name+0x1ea>
- 8003a26: 0020 movs r0, r4
- 8003a28: f7ff ffa4 bl 8003974 <d_special_name>
- 8003a2c: 0002 movs r2, r0
- 8003a2e: 2300 movs r3, #0
- 8003a30: 214a movs r1, #74 @ 0x4a
- 8003a32: 0020 movs r0, r4
- 8003a34: f7fd ff16 bl 8001864 <d_make_comp>
- 8003a38: e7e0 b.n 80039fc <d_special_name+0x88>
- 8003a3a: 2100 movs r1, #0
- 8003a3c: f7ff fda8 bl 8003590 <d_name>
- 8003a40: 6963 ldr r3, [r4, #20]
- 8003a42: 69a2 ldr r2, [r4, #24]
- 8003a44: 0006 movs r6, r0
- 8003a46: 4293 cmp r3, r2
- 8003a48: db00 blt.n 8003a4c <d_special_name+0xd8>
- 8003a4a: e08e b.n 8003b6a <d_special_name+0x1f6>
- 8003a4c: 2200 movs r2, #0
- 8003a4e: 0099 lsls r1, r3, #2
- 8003a50: 6925 ldr r5, [r4, #16]
- 8003a52: 18c9 adds r1, r1, r3
- 8003a54: 0089 lsls r1, r1, #2
- 8003a56: 186d adds r5, r5, r1
- 8003a58: 3301 adds r3, #1
- 8003a5a: 606a str r2, [r5, #4]
- 8003a5c: 60aa str r2, [r5, #8]
- 8003a5e: 6163 str r3, [r4, #20]
- 8003a60: 2343 movs r3, #67 @ 0x43
- 8003a62: 0020 movs r0, r4
- 8003a64: 702b strb r3, [r5, #0]
- 8003a66: f7fd ff69 bl 800193c <d_number>
- 8003a6a: 60e8 str r0, [r5, #12]
- 8003a6c: 002b movs r3, r5
- 8003a6e: 0032 movs r2, r6
- 8003a70: 2116 movs r1, #22
- 8003a72: 0020 movs r0, r4
- 8003a74: f7fd fef6 bl 8001864 <d_make_comp>
- 8003a78: e7c0 b.n 80039fc <d_special_name+0x88>
- 8003a7a: 2300 movs r3, #0
- 8003a7c: a901 add r1, sp, #4
- 8003a7e: 9301 str r3, [sp, #4]
- 8003a80: f7fe fb02 bl 8002088 <d_maybe_module_name>
- 8003a84: 2800 cmp r0, #0
- 8003a86: d063 beq.n 8003b50 <d_special_name+0x1dc>
- 8003a88: 9801 ldr r0, [sp, #4]
- 8003a8a: 2800 cmp r0, #0
- 8003a8c: d0b6 beq.n 80039fc <d_special_name+0x88>
- 8003a8e: 0002 movs r2, r0
- 8003a90: 2300 movs r3, #0
- 8003a92: 2156 movs r1, #86 @ 0x56
- 8003a94: 0020 movs r0, r4
- 8003a96: f7fd fee5 bl 8001864 <d_make_comp>
- 8003a9a: e7af b.n 80039fc <d_special_name+0x88>
- 8003a9c: 789b ldrb r3, [r3, #2]
- 8003a9e: 2b47 cmp r3, #71 @ 0x47
- 8003aa0: d058 beq.n 8003b54 <d_special_name+0x1e0>
- 8003aa2: 2b54 cmp r3, #84 @ 0x54
- 8003aa4: d056 beq.n 8003b54 <d_special_name+0x1e0>
- 8003aa6: 2100 movs r1, #0
- 8003aa8: f7ff feea bl 8003880 <d_encoding.part.0>
- 8003aac: 0002 movs r2, r0
- 8003aae: 2300 movs r3, #0
- 8003ab0: 2117 movs r1, #23
- 8003ab2: 0020 movs r0, r4
- 8003ab4: f7fd fed6 bl 8001864 <d_make_comp>
- 8003ab8: e7a0 b.n 80039fc <d_special_name+0x88>
- 8003aba: 2a72 cmp r2, #114 @ 0x72
- 8003abc: d148 bne.n 8003b50 <d_special_name+0x1dc>
- 8003abe: f7fd ff3d bl 800193c <d_number>
- 8003ac2: 2801 cmp r0, #1
- 8003ac4: dd44 ble.n 8003b50 <d_special_name+0x1dc>
- 8003ac6: 68e3 ldr r3, [r4, #12]
- 8003ac8: 781a ldrb r2, [r3, #0]
- 8003aca: 2a00 cmp r2, #0
- 8003acc: d040 beq.n 8003b50 <d_special_name+0x1dc>
- 8003ace: 1c5d adds r5, r3, #1
- 8003ad0: 60e5 str r5, [r4, #12]
- 8003ad2: 781b ldrb r3, [r3, #0]
- 8003ad4: 2b5f cmp r3, #95 @ 0x5f
- 8003ad6: d13b bne.n 8003b50 <d_special_name+0x1dc>
- 8003ad8: 3b1d subs r3, #29
- 8003ada: 2200 movs r2, #0
- 8003adc: 2700 movs r7, #0
- 8003ade: 4698 mov r8, r3
- 8003ae0: 1e46 subs r6, r0, #1
- 8003ae2: 782b ldrb r3, [r5, #0]
- 8003ae4: 2b00 cmp r3, #0
- 8003ae6: d033 beq.n 8003b50 <d_special_name+0x1dc>
- 8003ae8: 2b24 cmp r3, #36 @ 0x24
- 8003aea: d000 beq.n 8003aee <d_special_name+0x17a>
- 8003aec: e101 b.n 8003cf2 <d_special_name+0x37e>
- 8003aee: 786b ldrb r3, [r5, #1]
- 8003af0: 2b53 cmp r3, #83 @ 0x53
- 8003af2: d100 bne.n 8003af6 <d_special_name+0x182>
- 8003af4: e12c b.n 8003d50 <d_special_name+0x3dc>
- 8003af6: 2b5f cmp r3, #95 @ 0x5f
- 8003af8: d100 bne.n 8003afc <d_special_name+0x188>
- 8003afa: e127 b.n 8003d4c <d_special_name+0x3d8>
- 8003afc: 2b24 cmp r3, #36 @ 0x24
- 8003afe: d127 bne.n 8003b50 <d_special_name+0x1dc>
- 8003b00: 469c mov ip, r3
- 8003b02: 68e5 ldr r5, [r4, #12]
- 8003b04: 6961 ldr r1, [r4, #20]
- 8003b06: 69a3 ldr r3, [r4, #24]
- 8003b08: 3502 adds r5, #2
- 8003b0a: 4299 cmp r1, r3
- 8003b0c: da1f bge.n 8003b4e <d_special_name+0x1da>
- 8003b0e: 0088 lsls r0, r1, #2
- 8003b10: 6923 ldr r3, [r4, #16]
- 8003b12: 1840 adds r0, r0, r1
- 8003b14: 0080 lsls r0, r0, #2
- 8003b16: 181b adds r3, r3, r0
- 8003b18: 3101 adds r1, #1
- 8003b1a: 605f str r7, [r3, #4]
- 8003b1c: 609f str r7, [r3, #8]
- 8003b1e: 6161 str r1, [r4, #20]
- 8003b20: 4641 mov r1, r8
- 8003b22: 7019 strb r1, [r3, #0]
- 8003b24: 4661 mov r1, ip
- 8003b26: 3e02 subs r6, #2
- 8003b28: 60d9 str r1, [r3, #12]
- 8003b2a: 60e5 str r5, [r4, #12]
- 8003b2c: 2a00 cmp r2, #0
- 8003b2e: d100 bne.n 8003b32 <d_special_name+0x1be>
- 8003b30: e10a b.n 8003d48 <d_special_name+0x3d4>
- 8003b32: 2141 movs r1, #65 @ 0x41
- 8003b34: 0020 movs r0, r4
- 8003b36: f7fd fe95 bl 8001864 <d_make_comp>
- 8003b3a: 1e02 subs r2, r0, #0
- 8003b3c: d008 beq.n 8003b50 <d_special_name+0x1dc>
- 8003b3e: 2e00 cmp r6, #0
- 8003b40: dccf bgt.n 8003ae2 <d_special_name+0x16e>
- 8003b42: 2300 movs r3, #0
- 8003b44: 2140 movs r1, #64 @ 0x40
- 8003b46: 0020 movs r0, r4
- 8003b48: f7fd fe8c bl 8001864 <d_make_comp>
- 8003b4c: e756 b.n 80039fc <d_special_name+0x88>
- 8003b4e: 60e5 str r5, [r4, #12]
- 8003b50: 2000 movs r0, #0
- 8003b52: e753 b.n 80039fc <d_special_name+0x88>
- 8003b54: 0020 movs r0, r4
- 8003b56: f7ff ff0d bl 8003974 <d_special_name>
- 8003b5a: 0002 movs r2, r0
- 8003b5c: e7a7 b.n 8003aae <d_special_name+0x13a>
- 8003b5e: 2100 movs r1, #0
- 8003b60: 0020 movs r0, r4
- 8003b62: f7ff fe8d bl 8003880 <d_encoding.part.0>
- 8003b66: 0002 movs r2, r0
- 8003b68: e761 b.n 8003a2e <d_special_name+0xba>
- 8003b6a: 2500 movs r5, #0
- 8003b6c: e77e b.n 8003a6c <d_special_name+0xf8>
- 8003b6e: 2176 movs r1, #118 @ 0x76
- 8003b70: f7fd ff24 bl 80019bc <d_call_offset>
- 8003b74: 2800 cmp r0, #0
- 8003b76: d0eb beq.n 8003b50 <d_special_name+0x1dc>
- 8003b78: 68e3 ldr r3, [r4, #12]
- 8003b7a: 781b ldrb r3, [r3, #0]
- 8003b7c: 2b47 cmp r3, #71 @ 0x47
- 8003b7e: d100 bne.n 8003b82 <d_special_name+0x20e>
- 8003b80: e0fc b.n 8003d7c <d_special_name+0x408>
- 8003b82: 2b54 cmp r3, #84 @ 0x54
- 8003b84: d100 bne.n 8003b88 <d_special_name+0x214>
- 8003b86: e0f9 b.n 8003d7c <d_special_name+0x408>
- 8003b88: 2100 movs r1, #0
- 8003b8a: 0020 movs r0, r4
- 8003b8c: f7ff fe78 bl 8003880 <d_encoding.part.0>
- 8003b90: 0002 movs r2, r0
- 8003b92: 2300 movs r3, #0
- 8003b94: 2110 movs r1, #16
- 8003b96: 0020 movs r0, r4
- 8003b98: f7fd fe64 bl 8001864 <d_make_comp>
- 8003b9c: e72e b.n 80039fc <d_special_name+0x88>
- 8003b9e: 2168 movs r1, #104 @ 0x68
- 8003ba0: f7fd ff0c bl 80019bc <d_call_offset>
- 8003ba4: 2800 cmp r0, #0
- 8003ba6: d0d3 beq.n 8003b50 <d_special_name+0x1dc>
- 8003ba8: 68e3 ldr r3, [r4, #12]
- 8003baa: 781b ldrb r3, [r3, #0]
- 8003bac: 2b47 cmp r3, #71 @ 0x47
- 8003bae: d100 bne.n 8003bb2 <d_special_name+0x23e>
- 8003bb0: e0e9 b.n 8003d86 <d_special_name+0x412>
- 8003bb2: 2b54 cmp r3, #84 @ 0x54
- 8003bb4: d100 bne.n 8003bb8 <d_special_name+0x244>
- 8003bb6: e0e6 b.n 8003d86 <d_special_name+0x412>
- 8003bb8: 2100 movs r1, #0
- 8003bba: 0020 movs r0, r4
- 8003bbc: f7ff fe60 bl 8003880 <d_encoding.part.0>
- 8003bc0: 0002 movs r2, r0
- 8003bc2: 2300 movs r3, #0
- 8003bc4: 210f movs r1, #15
- 8003bc6: 0020 movs r0, r4
- 8003bc8: f7fd fe4c bl 8001864 <d_make_comp>
- 8003bcc: e716 b.n 80039fc <d_special_name+0x88>
- 8003bce: 310a adds r1, #10
- 8003bd0: 62c1 str r1, [r0, #44] @ 0x2c
- 8003bd2: f7fe fa89 bl 80020e8 <d_type>
- 8003bd6: 2300 movs r3, #0
- 8003bd8: 0002 movs r2, r0
- 8003bda: 210a movs r1, #10
- 8003bdc: 0020 movs r0, r4
- 8003bde: f7fd fe41 bl 8001864 <d_make_comp>
- 8003be2: e70b b.n 80039fc <d_special_name+0x88>
- 8003be4: 2100 movs r1, #0
- 8003be6: f7ff fcd3 bl 8003590 <d_name>
- 8003bea: 2300 movs r3, #0
- 8003bec: 0002 movs r2, r0
- 8003bee: 2115 movs r1, #21
- 8003bf0: 0020 movs r0, r4
- 8003bf2: f7fd fe37 bl 8001864 <d_make_comp>
- 8003bf6: e701 b.n 80039fc <d_special_name+0x88>
- 8003bf8: 310f adds r1, #15
- 8003bfa: 62c1 str r1, [r0, #44] @ 0x2c
- 8003bfc: f7fe fa74 bl 80020e8 <d_type>
- 8003c00: 2300 movs r3, #0
- 8003c02: 0002 movs r2, r0
- 8003c04: 2109 movs r1, #9
- 8003c06: 0020 movs r0, r4
- 8003c08: f7fd fe2c bl 8001864 <d_make_comp>
- 8003c0c: e6f6 b.n 80039fc <d_special_name+0x88>
- 8003c0e: 2100 movs r1, #0
- 8003c10: f7fd fed4 bl 80019bc <d_call_offset>
- 8003c14: 2800 cmp r0, #0
- 8003c16: d09b beq.n 8003b50 <d_special_name+0x1dc>
- 8003c18: 2100 movs r1, #0
- 8003c1a: 0020 movs r0, r4
- 8003c1c: f7fd fece bl 80019bc <d_call_offset>
- 8003c20: 2800 cmp r0, #0
- 8003c22: d095 beq.n 8003b50 <d_special_name+0x1dc>
- 8003c24: 68e3 ldr r3, [r4, #12]
- 8003c26: 781b ldrb r3, [r3, #0]
- 8003c28: 2b47 cmp r3, #71 @ 0x47
- 8003c2a: d100 bne.n 8003c2e <d_special_name+0x2ba>
- 8003c2c: e0b5 b.n 8003d9a <d_special_name+0x426>
- 8003c2e: 2b54 cmp r3, #84 @ 0x54
- 8003c30: d100 bne.n 8003c34 <d_special_name+0x2c0>
- 8003c32: e0b2 b.n 8003d9a <d_special_name+0x426>
- 8003c34: 2100 movs r1, #0
- 8003c36: 0020 movs r0, r4
- 8003c38: f7ff fe22 bl 8003880 <d_encoding.part.0>
- 8003c3c: 0002 movs r2, r0
- 8003c3e: 2300 movs r3, #0
- 8003c40: 2111 movs r1, #17
- 8003c42: 0020 movs r0, r4
- 8003c44: f7fd fe0e bl 8001864 <d_make_comp>
- 8003c48: e6d8 b.n 80039fc <d_special_name+0x88>
- 8003c4a: 2100 movs r1, #0
- 8003c4c: f7ff fca0 bl 8003590 <d_name>
- 8003c50: 2300 movs r3, #0
- 8003c52: 0002 movs r2, r0
- 8003c54: 2114 movs r1, #20
- 8003c56: 0020 movs r0, r4
- 8003c58: f7fd fe04 bl 8001864 <d_make_comp>
- 8003c5c: e6ce b.n 80039fc <d_special_name+0x88>
- 8003c5e: f7fe fa43 bl 80020e8 <d_type>
- 8003c62: 2300 movs r3, #0
- 8003c64: 0002 movs r2, r0
- 8003c66: 2112 movs r1, #18
- 8003c68: 0020 movs r0, r4
- 8003c6a: f7fd fdfb bl 8001864 <d_make_comp>
- 8003c6e: e6c5 b.n 80039fc <d_special_name+0x88>
- 8003c70: f7fe fa3a bl 80020e8 <d_type>
- 8003c74: 2300 movs r3, #0
- 8003c76: 0002 movs r2, r0
- 8003c78: 210c movs r1, #12
- 8003c7a: 0020 movs r0, r4
- 8003c7c: f7fd fdf2 bl 8001864 <d_make_comp>
- 8003c80: e6bc b.n 80039fc <d_special_name+0x88>
- 8003c82: f7fe fa31 bl 80020e8 <d_type>
- 8003c86: 2300 movs r3, #0
- 8003c88: 0002 movs r2, r0
- 8003c8a: 210d movs r1, #13
- 8003c8c: 0020 movs r0, r4
- 8003c8e: f7fd fde9 bl 8001864 <d_make_comp>
- 8003c92: e6b3 b.n 80039fc <d_special_name+0x88>
- 8003c94: f7fe fa28 bl 80020e8 <d_type>
- 8003c98: 0005 movs r5, r0
- 8003c9a: 0020 movs r0, r4
- 8003c9c: f7fd fe4e bl 800193c <d_number>
- 8003ca0: 2800 cmp r0, #0
- 8003ca2: da00 bge.n 8003ca6 <d_special_name+0x332>
- 8003ca4: e754 b.n 8003b50 <d_special_name+0x1dc>
- 8003ca6: 68e2 ldr r2, [r4, #12]
- 8003ca8: 7813 ldrb r3, [r2, #0]
- 8003caa: 2b5f cmp r3, #95 @ 0x5f
- 8003cac: d000 beq.n 8003cb0 <d_special_name+0x33c>
- 8003cae: e74f b.n 8003b50 <d_special_name+0x1dc>
- 8003cb0: 3201 adds r2, #1
- 8003cb2: 60e2 str r2, [r4, #12]
- 8003cb4: 0020 movs r0, r4
- 8003cb6: f7fe fa17 bl 80020e8 <d_type>
- 8003cba: 6ae3 ldr r3, [r4, #44] @ 0x2c
- 8003cbc: 0002 movs r2, r0
- 8003cbe: 3305 adds r3, #5
- 8003cc0: 62e3 str r3, [r4, #44] @ 0x2c
- 8003cc2: 210b movs r1, #11
- 8003cc4: 002b movs r3, r5
- 8003cc6: 0020 movs r0, r4
- 8003cc8: f7fd fdcc bl 8001864 <d_make_comp>
- 8003ccc: e696 b.n 80039fc <d_special_name+0x88>
- 8003cce: f000 f8f5 bl 8003ebc <d_template_arg>
- 8003cd2: 2300 movs r3, #0
- 8003cd4: 0002 movs r2, r0
- 8003cd6: 2130 movs r1, #48 @ 0x30
- 8003cd8: 0020 movs r0, r4
- 8003cda: f7fd fdc3 bl 8001864 <d_make_comp>
- 8003cde: e68d b.n 80039fc <d_special_name+0x88>
- 8003ce0: f7fe fa02 bl 80020e8 <d_type>
- 8003ce4: 2300 movs r3, #0
- 8003ce6: 0002 movs r2, r0
- 8003ce8: 210e movs r1, #14
- 8003cea: 0020 movs r0, r4
- 8003cec: f7fd fdba bl 8001864 <d_make_comp>
- 8003cf0: e684 b.n 80039fc <d_special_name+0x88>
- 8003cf2: 2100 movs r1, #0
- 8003cf4: e009 b.n 8003d0a <d_special_name+0x396>
- 8003cf6: 46c0 nop @ (mov r8, r8)
- 8003cf8: 08014f28 .word 0x08014f28
- 8003cfc: 08014f80 .word 0x08014f80
- 8003d00: 2b24 cmp r3, #36 @ 0x24
- 8003d02: d005 beq.n 8003d10 <d_special_name+0x39c>
- 8003d04: 3101 adds r1, #1
- 8003d06: 42b1 cmp r1, r6
- 8003d08: d002 beq.n 8003d10 <d_special_name+0x39c>
- 8003d0a: 5c6b ldrb r3, [r5, r1]
- 8003d0c: 2b00 cmp r3, #0
- 8003d0e: d1f7 bne.n 8003d00 <d_special_name+0x38c>
- 8003d10: 6960 ldr r0, [r4, #20]
- 8003d12: 69a3 ldr r3, [r4, #24]
- 8003d14: 4298 cmp r0, r3
- 8003d16: da1e bge.n 8003d56 <d_special_name+0x3e2>
- 8003d18: 0083 lsls r3, r0, #2
- 8003d1a: 181b adds r3, r3, r0
- 8003d1c: 009b lsls r3, r3, #2
- 8003d1e: 4699 mov r9, r3
- 8003d20: 6923 ldr r3, [r4, #16]
- 8003d22: 3001 adds r0, #1
- 8003d24: 469c mov ip, r3
- 8003d26: 464b mov r3, r9
- 8003d28: 4463 add r3, ip
- 8003d2a: 605f str r7, [r3, #4]
- 8003d2c: 609f str r7, [r3, #8]
- 8003d2e: 6160 str r0, [r4, #20]
- 8003d30: 2900 cmp r1, #0
- 8003d32: d100 bne.n 8003d36 <d_special_name+0x3c2>
- 8003d34: e70c b.n 8003b50 <d_special_name+0x1dc>
- 8003d36: 701f strb r7, [r3, #0]
- 8003d38: 60dd str r5, [r3, #12]
- 8003d3a: 68e5 ldr r5, [r4, #12]
- 8003d3c: 605f str r7, [r3, #4]
- 8003d3e: 609f str r7, [r3, #8]
- 8003d40: 6119 str r1, [r3, #16]
- 8003d42: 186d adds r5, r5, r1
- 8003d44: 1a76 subs r6, r6, r1
- 8003d46: e6f0 b.n 8003b2a <d_special_name+0x1b6>
- 8003d48: 001a movs r2, r3
- 8003d4a: e6f8 b.n 8003b3e <d_special_name+0x1ca>
- 8003d4c: 232e movs r3, #46 @ 0x2e
- 8003d4e: e6d7 b.n 8003b00 <d_special_name+0x18c>
- 8003d50: 232f movs r3, #47 @ 0x2f
- 8003d52: 469c mov ip, r3
- 8003d54: e6d5 b.n 8003b02 <d_special_name+0x18e>
- 8003d56: 68e3 ldr r3, [r4, #12]
- 8003d58: 2000 movs r0, #0
- 8003d5a: 185b adds r3, r3, r1
- 8003d5c: 60e3 str r3, [r4, #12]
- 8003d5e: e64d b.n 80039fc <d_special_name+0x88>
- 8003d60: 2b47 cmp r3, #71 @ 0x47
- 8003d62: d015 beq.n 8003d90 <d_special_name+0x41c>
- 8003d64: 2b54 cmp r3, #84 @ 0x54
- 8003d66: d013 beq.n 8003d90 <d_special_name+0x41c>
- 8003d68: 2100 movs r1, #0
- 8003d6a: f7ff fd89 bl 8003880 <d_encoding.part.0>
- 8003d6e: 0002 movs r2, r0
- 8003d70: 2300 movs r3, #0
- 8003d72: 214b movs r1, #75 @ 0x4b
- 8003d74: 0020 movs r0, r4
- 8003d76: f7fd fd75 bl 8001864 <d_make_comp>
- 8003d7a: e63f b.n 80039fc <d_special_name+0x88>
- 8003d7c: 0020 movs r0, r4
- 8003d7e: f7ff fdf9 bl 8003974 <d_special_name>
- 8003d82: 0002 movs r2, r0
- 8003d84: e705 b.n 8003b92 <d_special_name+0x21e>
- 8003d86: 0020 movs r0, r4
- 8003d88: f7ff fdf4 bl 8003974 <d_special_name>
- 8003d8c: 0002 movs r2, r0
- 8003d8e: e718 b.n 8003bc2 <d_special_name+0x24e>
- 8003d90: 0020 movs r0, r4
- 8003d92: f7ff fdef bl 8003974 <d_special_name>
- 8003d96: 0002 movs r2, r0
- 8003d98: e7ea b.n 8003d70 <d_special_name+0x3fc>
- 8003d9a: 0020 movs r0, r4
- 8003d9c: f7ff fdea bl 8003974 <d_special_name>
- 8003da0: 0002 movs r2, r0
- 8003da2: e74c b.n 8003c3e <d_special_name+0x2ca>
- 08003da4 <d_expr_primary>:
- 8003da4: b5f8 push {r3, r4, r5, r6, r7, lr}
- 8003da6: 68c2 ldr r2, [r0, #12]
- 8003da8: 0004 movs r4, r0
- 8003daa: 7813 ldrb r3, [r2, #0]
- 8003dac: 2b4c cmp r3, #76 @ 0x4c
- 8003dae: d132 bne.n 8003e16 <d_expr_primary+0x72>
- 8003db0: 1c53 adds r3, r2, #1
- 8003db2: 60c3 str r3, [r0, #12]
- 8003db4: 7851 ldrb r1, [r2, #1]
- 8003db6: 295f cmp r1, #95 @ 0x5f
- 8003db8: d04c beq.n 8003e54 <d_expr_primary+0xb0>
- 8003dba: 295a cmp r1, #90 @ 0x5a
- 8003dbc: d112 bne.n 8003de4 <d_expr_primary+0x40>
- 8003dbe: 1c5a adds r2, r3, #1
- 8003dc0: 60e2 str r2, [r4, #12]
- 8003dc2: 785b ldrb r3, [r3, #1]
- 8003dc4: 2b47 cmp r3, #71 @ 0x47
- 8003dc6: d03e beq.n 8003e46 <d_expr_primary+0xa2>
- 8003dc8: 2b54 cmp r3, #84 @ 0x54
- 8003dca: d03c beq.n 8003e46 <d_expr_primary+0xa2>
- 8003dcc: 2100 movs r1, #0
- 8003dce: 0020 movs r0, r4
- 8003dd0: f7ff fd56 bl 8003880 <d_encoding.part.0>
- 8003dd4: 0005 movs r5, r0
- 8003dd6: 68e3 ldr r3, [r4, #12]
- 8003dd8: 781a ldrb r2, [r3, #0]
- 8003dda: 2a45 cmp r2, #69 @ 0x45
- 8003ddc: d11b bne.n 8003e16 <d_expr_primary+0x72>
- 8003dde: 3301 adds r3, #1
- 8003de0: 60e3 str r3, [r4, #12]
- 8003de2: e019 b.n 8003e18 <d_expr_primary+0x74>
- 8003de4: f7fe f980 bl 80020e8 <d_type>
- 8003de8: 1e05 subs r5, r0, #0
- 8003dea: d014 beq.n 8003e16 <d_expr_primary+0x72>
- 8003dec: 7803 ldrb r3, [r0, #0]
- 8003dee: 68e6 ldr r6, [r4, #12]
- 8003df0: 2b27 cmp r3, #39 @ 0x27
- 8003df2: d013 beq.n 8003e1c <d_expr_primary+0x78>
- 8003df4: 7832 ldrb r2, [r6, #0]
- 8003df6: 213d movs r1, #61 @ 0x3d
- 8003df8: 2a6e cmp r2, #110 @ 0x6e
- 8003dfa: d050 beq.n 8003e9e <d_expr_primary+0xfa>
- 8003dfc: 2a45 cmp r2, #69 @ 0x45
- 8003dfe: d054 beq.n 8003eaa <d_expr_primary+0x106>
- 8003e00: 1c73 adds r3, r6, #1
- 8003e02: e006 b.n 8003e12 <d_expr_primary+0x6e>
- 8003e04: 60e3 str r3, [r4, #12]
- 8003e06: 0018 movs r0, r3
- 8003e08: 3301 adds r3, #1
- 8003e0a: 1e5a subs r2, r3, #1
- 8003e0c: 7812 ldrb r2, [r2, #0]
- 8003e0e: 2a45 cmp r2, #69 @ 0x45
- 8003e10: d027 beq.n 8003e62 <d_expr_primary+0xbe>
- 8003e12: 2a00 cmp r2, #0
- 8003e14: d1f6 bne.n 8003e04 <d_expr_primary+0x60>
- 8003e16: 2500 movs r5, #0
- 8003e18: 0028 movs r0, r5
- 8003e1a: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 8003e1c: 68c3 ldr r3, [r0, #12]
- 8003e1e: 7c1a ldrb r2, [r3, #16]
- 8003e20: 2a00 cmp r2, #0
- 8003e22: d003 beq.n 8003e2c <d_expr_primary+0x88>
- 8003e24: 6ae2 ldr r2, [r4, #44] @ 0x2c
- 8003e26: 6859 ldr r1, [r3, #4]
- 8003e28: 1a52 subs r2, r2, r1
- 8003e2a: 62e2 str r2, [r4, #44] @ 0x2c
- 8003e2c: 4922 ldr r1, [pc, #136] @ (8003eb8 <d_expr_primary+0x114>)
- 8003e2e: 6818 ldr r0, [r3, #0]
- 8003e30: f7fc fb7a bl 8000528 <strcmp>
- 8003e34: 7832 ldrb r2, [r6, #0]
- 8003e36: 2800 cmp r0, #0
- 8003e38: d1dd bne.n 8003df6 <d_expr_primary+0x52>
- 8003e3a: 2a45 cmp r2, #69 @ 0x45
- 8003e3c: d039 beq.n 8003eb2 <d_expr_primary+0x10e>
- 8003e3e: 2a6e cmp r2, #110 @ 0x6e
- 8003e40: d02d beq.n 8003e9e <d_expr_primary+0xfa>
- 8003e42: 213d movs r1, #61 @ 0x3d
- 8003e44: e7dc b.n 8003e00 <d_expr_primary+0x5c>
- 8003e46: 0020 movs r0, r4
- 8003e48: f7ff fd94 bl 8003974 <d_special_name>
- 8003e4c: 68e3 ldr r3, [r4, #12]
- 8003e4e: 0005 movs r5, r0
- 8003e50: 781a ldrb r2, [r3, #0]
- 8003e52: e7c2 b.n 8003dda <d_expr_primary+0x36>
- 8003e54: 1c93 adds r3, r2, #2
- 8003e56: 60c3 str r3, [r0, #12]
- 8003e58: 7892 ldrb r2, [r2, #2]
- 8003e5a: 2500 movs r5, #0
- 8003e5c: 2a5a cmp r2, #90 @ 0x5a
- 8003e5e: d1bc bne.n 8003dda <d_expr_primary+0x36>
- 8003e60: e7ad b.n 8003dbe <d_expr_primary+0x1a>
- 8003e62: 1b80 subs r0, r0, r6
- 8003e64: 6962 ldr r2, [r4, #20]
- 8003e66: 69a3 ldr r3, [r4, #24]
- 8003e68: 429a cmp r2, r3
- 8003e6a: da20 bge.n 8003eae <d_expr_primary+0x10a>
- 8003e6c: 0097 lsls r7, r2, #2
- 8003e6e: 6923 ldr r3, [r4, #16]
- 8003e70: 18bf adds r7, r7, r2
- 8003e72: 00bf lsls r7, r7, #2
- 8003e74: 19db adds r3, r3, r7
- 8003e76: 2700 movs r7, #0
- 8003e78: 3201 adds r2, #1
- 8003e7a: 605f str r7, [r3, #4]
- 8003e7c: 609f str r7, [r3, #8]
- 8003e7e: 6162 str r2, [r4, #20]
- 8003e80: 2800 cmp r0, #0
- 8003e82: dd14 ble.n 8003eae <d_expr_primary+0x10a>
- 8003e84: 605f str r7, [r3, #4]
- 8003e86: 609f str r7, [r3, #8]
- 8003e88: 701f strb r7, [r3, #0]
- 8003e8a: 60de str r6, [r3, #12]
- 8003e8c: 6118 str r0, [r3, #16]
- 8003e8e: 002a movs r2, r5
- 8003e90: 0020 movs r0, r4
- 8003e92: f7fd fce7 bl 8001864 <d_make_comp>
- 8003e96: 68e3 ldr r3, [r4, #12]
- 8003e98: 0005 movs r5, r0
- 8003e9a: 781a ldrb r2, [r3, #0]
- 8003e9c: e79d b.n 8003dda <d_expr_primary+0x36>
- 8003e9e: 1c73 adds r3, r6, #1
- 8003ea0: 60e3 str r3, [r4, #12]
- 8003ea2: 7872 ldrb r2, [r6, #1]
- 8003ea4: 213e movs r1, #62 @ 0x3e
- 8003ea6: 001e movs r6, r3
- 8003ea8: e7a8 b.n 8003dfc <d_expr_primary+0x58>
- 8003eaa: 2000 movs r0, #0
- 8003eac: e7da b.n 8003e64 <d_expr_primary+0xc0>
- 8003eae: 2300 movs r3, #0
- 8003eb0: e7ed b.n 8003e8e <d_expr_primary+0xea>
- 8003eb2: 3601 adds r6, #1
- 8003eb4: 60e6 str r6, [r4, #12]
- 8003eb6: e7af b.n 8003e18 <d_expr_primary+0x74>
- 8003eb8: 08014138 .word 0x08014138
- 08003ebc <d_template_arg>:
- 8003ebc: b570 push {r4, r5, r6, lr}
- 8003ebe: 68c2 ldr r2, [r0, #12]
- 8003ec0: 0004 movs r4, r0
- 8003ec2: 7813 ldrb r3, [r2, #0]
- 8003ec4: 2b4c cmp r3, #76 @ 0x4c
- 8003ec6: d019 beq.n 8003efc <d_template_arg+0x40>
- 8003ec8: d807 bhi.n 8003eda <d_template_arg+0x1e>
- 8003eca: 3b49 subs r3, #73 @ 0x49
- 8003ecc: 2b01 cmp r3, #1
- 8003ece: d818 bhi.n 8003f02 <d_template_arg+0x46>
- 8003ed0: 3201 adds r2, #1
- 8003ed2: 60c2 str r2, [r0, #12]
- 8003ed4: f000 f81c bl 8003f10 <d_template_args_1>
- 8003ed8: bd70 pop {r4, r5, r6, pc}
- 8003eda: 2b58 cmp r3, #88 @ 0x58
- 8003edc: d111 bne.n 8003f02 <d_template_arg+0x46>
- 8003ede: 3201 adds r2, #1
- 8003ee0: 3b57 subs r3, #87 @ 0x57
- 8003ee2: 6b05 ldr r5, [r0, #48] @ 0x30
- 8003ee4: 60c2 str r2, [r0, #12]
- 8003ee6: 6303 str r3, [r0, #48] @ 0x30
- 8003ee8: f7fe ffe4 bl 8002eb4 <d_expression_1>
- 8003eec: 68e3 ldr r3, [r4, #12]
- 8003eee: 6325 str r5, [r4, #48] @ 0x30
- 8003ef0: 781a ldrb r2, [r3, #0]
- 8003ef2: 2a45 cmp r2, #69 @ 0x45
- 8003ef4: d109 bne.n 8003f0a <d_template_arg+0x4e>
- 8003ef6: 3301 adds r3, #1
- 8003ef8: 60e3 str r3, [r4, #12]
- 8003efa: e7ed b.n 8003ed8 <d_template_arg+0x1c>
- 8003efc: f7ff ff52 bl 8003da4 <d_expr_primary>
- 8003f00: e7ea b.n 8003ed8 <d_template_arg+0x1c>
- 8003f02: 0020 movs r0, r4
- 8003f04: f7fe f8f0 bl 80020e8 <d_type>
- 8003f08: e7e6 b.n 8003ed8 <d_template_arg+0x1c>
- 8003f0a: 2000 movs r0, #0
- 8003f0c: e7e4 b.n 8003ed8 <d_template_arg+0x1c>
- 8003f0e: 46c0 nop @ (mov r8, r8)
- 08003f10 <d_template_args_1>:
- 8003f10: b570 push {r4, r5, r6, lr}
- 8003f12: 68c3 ldr r3, [r0, #12]
- 8003f14: 0004 movs r4, r0
- 8003f16: 781a ldrb r2, [r3, #0]
- 8003f18: 6a86 ldr r6, [r0, #40] @ 0x28
- 8003f1a: b082 sub sp, #8
- 8003f1c: 2a45 cmp r2, #69 @ 0x45
- 8003f1e: d01e beq.n 8003f5e <d_template_args_1+0x4e>
- 8003f20: 2300 movs r3, #0
- 8003f22: ad01 add r5, sp, #4
- 8003f24: 9301 str r3, [sp, #4]
- 8003f26: e00d b.n 8003f44 <d_template_args_1+0x34>
- 8003f28: 2300 movs r3, #0
- 8003f2a: 212f movs r1, #47 @ 0x2f
- 8003f2c: 0020 movs r0, r4
- 8003f2e: f7fd fc99 bl 8001864 <d_make_comp>
- 8003f32: 6028 str r0, [r5, #0]
- 8003f34: 2800 cmp r0, #0
- 8003f36: d00a beq.n 8003f4e <d_template_args_1+0x3e>
- 8003f38: 68e3 ldr r3, [r4, #12]
- 8003f3a: 3010 adds r0, #16
- 8003f3c: 781a ldrb r2, [r3, #0]
- 8003f3e: 0005 movs r5, r0
- 8003f40: 2a45 cmp r2, #69 @ 0x45
- 8003f42: d007 beq.n 8003f54 <d_template_args_1+0x44>
- 8003f44: 0020 movs r0, r4
- 8003f46: f7ff ffb9 bl 8003ebc <d_template_arg>
- 8003f4a: 1e02 subs r2, r0, #0
- 8003f4c: d1ec bne.n 8003f28 <d_template_args_1+0x18>
- 8003f4e: 2000 movs r0, #0
- 8003f50: b002 add sp, #8
- 8003f52: bd70 pop {r4, r5, r6, pc}
- 8003f54: 3301 adds r3, #1
- 8003f56: 9801 ldr r0, [sp, #4]
- 8003f58: 60e3 str r3, [r4, #12]
- 8003f5a: 62a6 str r6, [r4, #40] @ 0x28
- 8003f5c: e7f8 b.n 8003f50 <d_template_args_1+0x40>
- 8003f5e: 3301 adds r3, #1
- 8003f60: 2200 movs r2, #0
- 8003f62: 212f movs r1, #47 @ 0x2f
- 8003f64: 60c3 str r3, [r0, #12]
- 8003f66: 2300 movs r3, #0
- 8003f68: f7fd fc7c bl 8001864 <d_make_comp>
- 8003f6c: e7f0 b.n 8003f50 <d_template_args_1+0x40>
- 8003f6e: 46c0 nop @ (mov r8, r8)
- 08003f70 <d_prefix>:
- 8003f70: b5f8 push {r3, r4, r5, r6, r7, lr}
- 8003f72: 0005 movs r5, r0
- 8003f74: 000e movs r6, r1
- 8003f76: 2400 movs r4, #0
- 8003f78: 2720 movs r7, #32
- 8003f7a: 68eb ldr r3, [r5, #12]
- 8003f7c: 7819 ldrb r1, [r3, #0]
- 8003f7e: 2944 cmp r1, #68 @ 0x44
- 8003f80: d039 beq.n 8003ff6 <d_prefix+0x86>
- 8003f82: 2949 cmp r1, #73 @ 0x49
- 8003f84: d04c beq.n 8004020 <d_prefix+0xb0>
- 8003f86: 2954 cmp r1, #84 @ 0x54
- 8003f88: d120 bne.n 8003fcc <d_prefix+0x5c>
- 8003f8a: 2c00 cmp r4, #0
- 8003f8c: d14a bne.n 8004024 <d_prefix+0xb4>
- 8003f8e: 0028 movs r0, r5
- 8003f90: f7fd fece bl 8001d30 <d_template_param>
- 8003f94: 0004 movs r4, r0
- 8003f96: 2c00 cmp r4, #0
- 8003f98: d044 beq.n 8004024 <d_prefix+0xb4>
- 8003f9a: 68eb ldr r3, [r5, #12]
- 8003f9c: 781a ldrb r2, [r3, #0]
- 8003f9e: 2a45 cmp r2, #69 @ 0x45
- 8003fa0: d041 beq.n 8004026 <d_prefix+0xb6>
- 8003fa2: 2e00 cmp r6, #0
- 8003fa4: d132 bne.n 800400c <d_prefix+0x9c>
- 8003fa6: 7819 ldrb r1, [r3, #0]
- 8003fa8: 2944 cmp r1, #68 @ 0x44
- 8003faa: d024 beq.n 8003ff6 <d_prefix+0x86>
- 8003fac: 2949 cmp r1, #73 @ 0x49
- 8003fae: d1ea bne.n 8003f86 <d_prefix+0x16>
- 8003fb0: 3301 adds r3, #1
- 8003fb2: 60eb str r3, [r5, #12]
- 8003fb4: 0028 movs r0, r5
- 8003fb6: f7ff ffab bl 8003f10 <d_template_args_1>
- 8003fba: 1e03 subs r3, r0, #0
- 8003fbc: d032 beq.n 8004024 <d_prefix+0xb4>
- 8003fbe: 0022 movs r2, r4
- 8003fc0: 2104 movs r1, #4
- 8003fc2: 0028 movs r0, r5
- 8003fc4: f7fd fc4e bl 8001864 <d_make_comp>
- 8003fc8: 0004 movs r4, r0
- 8003fca: e7e4 b.n 8003f96 <d_prefix+0x26>
- 8003fcc: 294d cmp r1, #77 @ 0x4d
- 8003fce: d02c beq.n 800402a <d_prefix+0xba>
- 8003fd0: 2953 cmp r1, #83 @ 0x53
- 8003fd2: d134 bne.n 800403e <d_prefix+0xce>
- 8003fd4: 0028 movs r0, r5
- 8003fd6: 3952 subs r1, #82 @ 0x52
- 8003fd8: f7fd ff94 bl 8001f04 <d_substitution>
- 8003fdc: 1e02 subs r2, r0, #0
- 8003fde: d021 beq.n 8004024 <d_prefix+0xb4>
- 8003fe0: 7803 ldrb r3, [r0, #0]
- 8003fe2: 3b53 subs r3, #83 @ 0x53
- 8003fe4: 2b01 cmp r3, #1
- 8003fe6: d90b bls.n 8004000 <d_prefix+0x90>
- 8003fe8: 2c00 cmp r4, #0
- 8003fea: d11b bne.n 8004024 <d_prefix+0xb4>
- 8003fec: 68eb ldr r3, [r5, #12]
- 8003fee: 0014 movs r4, r2
- 8003ff0: 7819 ldrb r1, [r3, #0]
- 8003ff2: 2944 cmp r1, #68 @ 0x44
- 8003ff4: d1da bne.n 8003fac <d_prefix+0x3c>
- 8003ff6: 785b ldrb r3, [r3, #1]
- 8003ff8: 2200 movs r2, #0
- 8003ffa: 43bb bics r3, r7
- 8003ffc: 2b54 cmp r3, #84 @ 0x54
- 8003ffe: d017 beq.n 8004030 <d_prefix+0xc0>
- 8004000: 0021 movs r1, r4
- 8004002: 0028 movs r0, r5
- 8004004: f7fe fd8c bl 8002b20 <d_unqualified_name>
- 8004008: 0004 movs r4, r0
- 800400a: e7c4 b.n 8003f96 <d_prefix+0x26>
- 800400c: 6a2a ldr r2, [r5, #32]
- 800400e: 6a69 ldr r1, [r5, #36] @ 0x24
- 8004010: 428a cmp r2, r1
- 8004012: da07 bge.n 8004024 <d_prefix+0xb4>
- 8004014: 69e9 ldr r1, [r5, #28]
- 8004016: 0090 lsls r0, r2, #2
- 8004018: 3201 adds r2, #1
- 800401a: 5044 str r4, [r0, r1]
- 800401c: 622a str r2, [r5, #32]
- 800401e: e7c2 b.n 8003fa6 <d_prefix+0x36>
- 8004020: 2c00 cmp r4, #0
- 8004022: d1c5 bne.n 8003fb0 <d_prefix+0x40>
- 8004024: 2400 movs r4, #0
- 8004026: 0020 movs r0, r4
- 8004028: bdf8 pop {r3, r4, r5, r6, r7, pc}
- 800402a: 3301 adds r3, #1
- 800402c: 60eb str r3, [r5, #12]
- 800402e: e7a4 b.n 8003f7a <d_prefix+0xa>
- 8004030: 2c00 cmp r4, #0
- 8004032: d1f7 bne.n 8004024 <d_prefix+0xb4>
- 8004034: 0028 movs r0, r5
- 8004036: f7fe f857 bl 80020e8 <d_type>
- 800403a: 0004 movs r4, r0
- 800403c: e7ab b.n 8003f96 <d_prefix+0x26>
- 800403e: 2200 movs r2, #0
- 8004040: e7de b.n 8004000 <d_prefix+0x90>
- 8004042: 46c0 nop @ (mov r8, r8)
- 08004044 <d_print_comp_inner>:
- 8004044: b5f0 push {r4, r5, r6, r7, lr}
- 8004046: 46de mov lr, fp
- 8004048: 4657 mov r7, sl
- 800404a: 464e mov r6, r9
- 800404c: 4645 mov r5, r8
- 800404e: b5e0 push {r5, r6, r7, lr}
- 8004050: b09b sub sp, #108 @ 0x6c
- 8004052: 0004 movs r4, r0
- 8004054: 9201 str r2, [sp, #4]
- 8004056: 2a00 cmp r2, #0
- 8004058: d02b beq.n 80040b2 <d_print_comp_inner+0x6e>
- 800405a: 238c movs r3, #140 @ 0x8c
- 800405c: 005b lsls r3, r3, #1
- 800405e: 58c7 ldr r7, [r0, r3]
- 8004060: 2f00 cmp r7, #0
- 8004062: d12a bne.n 80040ba <d_print_comp_inner+0x76>
- 8004064: 9b01 ldr r3, [sp, #4]
- 8004066: 781d ldrb r5, [r3, #0]
- 8004068: 2d5c cmp r5, #92 @ 0x5c
- 800406a: d858 bhi.n 800411e <d_print_comp_inner+0xda>
- 800406c: 4adb ldr r2, [pc, #876] @ (80043dc <d_print_comp_inner+0x398>)
- 800406e: 00ab lsls r3, r5, #2
- 8004070: 58d3 ldr r3, [r2, r3]
- 8004072: 469f mov pc, r3
- 8004074: 2390 movs r3, #144 @ 0x90
- 8004076: 9a01 ldr r2, [sp, #4]
- 8004078: 005b lsls r3, r3, #1
- 800407a: 68d2 ldr r2, [r2, #12]
- 800407c: 58c3 ldr r3, [r0, r3]
- 800407e: 4690 mov r8, r2
- 8004080: 3201 adds r2, #1
- 8004082: 4293 cmp r3, r2
- 8004084: dc01 bgt.n 800408a <d_print_comp_inner+0x46>
- 8004086: f002 f831 bl 80060ec <d_print_comp_inner+0x20a8>
- 800408a: 2388 movs r3, #136 @ 0x88
- 800408c: 005b lsls r3, r3, #1
- 800408e: 58c3 ldr r3, [r0, r3]
- 8004090: 4642 mov r2, r8
- 8004092: 685b ldr r3, [r3, #4]
- 8004094: 68db ldr r3, [r3, #12]
- 8004096: 2b00 cmp r3, #0
- 8004098: d00b beq.n 80040b2 <d_print_comp_inner+0x6e>
- 800409a: 2a00 cmp r2, #0
- 800409c: d105 bne.n 80040aa <d_print_comp_inner+0x66>
- 800409e: f002 f861 bl 8006164 <d_print_comp_inner+0x2120>
- 80040a2: 2a00 cmp r2, #0
- 80040a4: d101 bne.n 80040aa <d_print_comp_inner+0x66>
- 80040a6: f002 f85d bl 8006164 <d_print_comp_inner+0x2120>
- 80040aa: 691b ldr r3, [r3, #16]
- 80040ac: 3a01 subs r2, #1
- 80040ae: 2b00 cmp r3, #0
- 80040b0: d1f7 bne.n 80040a2 <d_print_comp_inner+0x5e>
- 80040b2: 238c movs r3, #140 @ 0x8c
- 80040b4: 2201 movs r2, #1
- 80040b6: 005b lsls r3, r3, #1
- 80040b8: 50e2 str r2, [r4, r3]
- 80040ba: b01b add sp, #108 @ 0x6c
- 80040bc: bcf0 pop {r4, r5, r6, r7}
- 80040be: 46bb mov fp, r7
- 80040c0: 46b2 mov sl, r6
- 80040c2: 46a9 mov r9, r5
- 80040c4: 46a0 mov r8, r4
- 80040c6: bdf0 pop {r4, r5, r6, r7, pc}
- 80040c8: 238a movs r3, #138 @ 0x8a
- 80040ca: 005b lsls r3, r3, #1
- 80040cc: 58c1 ldr r1, [r0, r3]
- 80040ce: ab0a add r3, sp, #40 @ 0x28
- 80040d0: 469b mov fp, r3
- 80040d2: 238a movs r3, #138 @ 0x8a
- 80040d4: 465a mov r2, fp
- 80040d6: 005b lsls r3, r3, #1
- 80040d8: 50e2 str r2, [r4, r3]
- 80040da: 465b mov r3, fp
- 80040dc: 9a01 ldr r2, [sp, #4]
- 80040de: 910a str r1, [sp, #40] @ 0x28
- 80040e0: 605a str r2, [r3, #4]
- 80040e2: 2300 movs r3, #0
- 80040e4: 465a mov r2, fp
- 80040e6: 6093 str r3, [r2, #8]
- 80040e8: 3311 adds r3, #17
- 80040ea: 33ff adds r3, #255 @ 0xff
- 80040ec: 58e3 ldr r3, [r4, r3]
- 80040ee: 60d3 str r3, [r2, #12]
- 80040f0: 9b01 ldr r3, [sp, #4]
- 80040f2: 68de ldr r6, [r3, #12]
- 80040f4: 0032 movs r2, r6
- 80040f6: 2111 movs r1, #17
- 80040f8: 0020 movs r0, r4
- 80040fa: f002 ff39 bl 8006f70 <d_print_comp>
- 80040fe: 465b mov r3, fp
- 8004100: 689b ldr r3, [r3, #8]
- 8004102: 2b00 cmp r3, #0
- 8004104: d101 bne.n 800410a <d_print_comp_inner+0xc6>
- 8004106: f001 ff5f bl 8005fc8 <d_print_comp_inner+0x1f84>
- 800410a: 238a movs r3, #138 @ 0x8a
- 800410c: 9a0a ldr r2, [sp, #40] @ 0x28
- 800410e: 005b lsls r3, r3, #1
- 8004110: 50e2 str r2, [r4, r3]
- 8004112: 2f00 cmp r7, #0
- 8004114: d0d1 beq.n 80040ba <d_print_comp_inner+0x76>
- 8004116: 464a mov r2, r9
- 8004118: 3b04 subs r3, #4
- 800411a: 50e2 str r2, [r4, r3]
- 800411c: e7cd b.n 80040ba <d_print_comp_inner+0x76>
- 800411e: 238c movs r3, #140 @ 0x8c
- 8004120: 2201 movs r2, #1
- 8004122: 005b lsls r3, r3, #1
- 8004124: 50e2 str r2, [r4, r3]
- 8004126: e7c8 b.n 80040ba <d_print_comp_inner+0x76>
- 8004128: 238a movs r3, #138 @ 0x8a
- 800412a: 005b lsls r3, r3, #1
- 800412c: 58c1 ldr r1, [r0, r3]
- 800412e: 2900 cmp r1, #0
- 8004130: d101 bne.n 8004136 <d_print_comp_inner+0xf2>
- 8004132: f002 fe87 bl 8006e44 <d_print_comp_inner+0x2e00>
- 8004136: 000b movs r3, r1
- 8004138: e002 b.n 8004140 <d_print_comp_inner+0xfc>
- 800413a: 681b ldr r3, [r3, #0]
- 800413c: 2b00 cmp r3, #0
- 800413e: d0c6 beq.n 80040ce <d_print_comp_inner+0x8a>
- 8004140: 689a ldr r2, [r3, #8]
- 8004142: 2a00 cmp r2, #0
- 8004144: d1f9 bne.n 800413a <d_print_comp_inner+0xf6>
- 8004146: 685a ldr r2, [r3, #4]
- 8004148: 7812 ldrb r2, [r2, #0]
- 800414a: 0010 movs r0, r2
- 800414c: 3819 subs r0, #25
- 800414e: 2802 cmp r0, #2
- 8004150: d8bd bhi.n 80040ce <d_print_comp_inner+0x8a>
- 8004152: 4295 cmp r5, r2
- 8004154: d1f1 bne.n 800413a <d_print_comp_inner+0xf6>
- 8004156: 9b01 ldr r3, [sp, #4]
- 8004158: 2111 movs r1, #17
- 800415a: 0020 movs r0, r4
- 800415c: 68da ldr r2, [r3, #12]
- 800415e: f002 ff07 bl 8006f70 <d_print_comp>
- 8004162: e7aa b.n 80040ba <d_print_comp_inner+0x76>
- 8004164: 9b01 ldr r3, [sp, #4]
- 8004166: 2111 movs r1, #17
- 8004168: 68da ldr r2, [r3, #12]
- 800416a: f002 ff01 bl 8006f70 <d_print_comp>
- 800416e: e7a4 b.n 80040ba <d_print_comp_inner+0x76>
- 8004170: 9b01 ldr r3, [sp, #4]
- 8004172: 68de ldr r6, [r3, #12]
- 8004174: 2390 movs r3, #144 @ 0x90
- 8004176: 005b lsls r3, r3, #1
- 8004178: 58c3 ldr r3, [r0, r3]
- 800417a: 0030 movs r0, r6
- 800417c: 4698 mov r8, r3
- 800417e: 4642 mov r2, r8
- 8004180: 7833 ldrb r3, [r6, #0]
- 8004182: 2a00 cmp r2, #0
- 8004184: d104 bne.n 8004190 <d_print_comp_inner+0x14c>
- 8004186: 2700 movs r7, #0
- 8004188: 2b05 cmp r3, #5
- 800418a: d101 bne.n 8004190 <d_print_comp_inner+0x14c>
- 800418c: f002 fc0e bl 80069ac <d_print_comp_inner+0x2968>
- 8004190: 2b23 cmp r3, #35 @ 0x23
- 8004192: d101 bne.n 8004198 <d_print_comp_inner+0x154>
- 8004194: f001 ff54 bl 8006040 <d_print_comp_inner+0x1ffc>
- 8004198: 228a movs r2, #138 @ 0x8a
- 800419a: 0052 lsls r2, r2, #1
- 800419c: 58a1 ldr r1, [r4, r2]
- 800419e: 429d cmp r5, r3
- 80041a0: d101 bne.n 80041a6 <d_print_comp_inner+0x162>
- 80041a2: f001 ff4d bl 8006040 <d_print_comp_inner+0x1ffc>
- 80041a6: 2b24 cmp r3, #36 @ 0x24
- 80041a8: d101 bne.n 80041ae <d_print_comp_inner+0x16a>
- 80041aa: f001 fc43 bl 8005a34 <d_print_comp_inner+0x19f0>
- 80041ae: ab0a add r3, sp, #40 @ 0x28
- 80041b0: 469b mov fp, r3
- 80041b2: 238a movs r3, #138 @ 0x8a
- 80041b4: 005b lsls r3, r3, #1
- 80041b6: 58e2 ldr r2, [r4, r3]
- 80041b8: 920a str r2, [sp, #40] @ 0x28
- 80041ba: 465a mov r2, fp
- 80041bc: 50e2 str r2, [r4, r3]
- 80041be: 465b mov r3, fp
- 80041c0: 9a01 ldr r2, [sp, #4]
- 80041c2: 605a str r2, [r3, #4]
- 80041c4: 2300 movs r3, #0
- 80041c6: 465a mov r2, fp
- 80041c8: 6093 str r3, [r2, #8]
- 80041ca: 3311 adds r3, #17
- 80041cc: 33ff adds r3, #255 @ 0xff
- 80041ce: 58e3 ldr r3, [r4, r3]
- 80041d0: 60d3 str r3, [r2, #12]
- 80041d2: e78f b.n 80040f4 <d_print_comp_inner+0xb0>
- 80041d4: 9b01 ldr r3, [sp, #4]
- 80041d6: 68da ldr r2, [r3, #12]
- 80041d8: 2a00 cmp r2, #0
- 80041da: d002 beq.n 80041e2 <d_print_comp_inner+0x19e>
- 80041dc: 2111 movs r1, #17
- 80041de: f002 fec7 bl 8006f70 <d_print_comp>
- 80041e2: 9b01 ldr r3, [sp, #4]
- 80041e4: 691b ldr r3, [r3, #16]
- 80041e6: 2b00 cmp r3, #0
- 80041e8: d100 bne.n 80041ec <d_print_comp_inner+0x1a8>
- 80041ea: e766 b.n 80040ba <d_print_comp_inner+0x76>
- 80041ec: 2580 movs r5, #128 @ 0x80
- 80041ee: 006d lsls r5, r5, #1
- 80041f0: 5961 ldr r1, [r4, r5]
- 80041f2: 29fd cmp r1, #253 @ 0xfd
- 80041f4: d901 bls.n 80041fa <d_print_comp_inner+0x1b6>
- 80041f6: f002 f983 bl 8006500 <d_print_comp_inner+0x24bc>
- 80041fa: 2780 movs r7, #128 @ 0x80
- 80041fc: 2594 movs r5, #148 @ 0x94
- 80041fe: 0020 movs r0, r4
- 8004200: 4977 ldr r1, [pc, #476] @ (80043e0 <d_print_comp_inner+0x39c>)
- 8004202: 007f lsls r7, r7, #1
- 8004204: f7fd fd58 bl 8001cb8 <d_append_string>
- 8004208: 59e3 ldr r3, [r4, r7]
- 800420a: 006d lsls r5, r5, #1
- 800420c: 4699 mov r9, r3
- 800420e: 5963 ldr r3, [r4, r5]
- 8004210: 2111 movs r1, #17
- 8004212: 4698 mov r8, r3
- 8004214: 9b01 ldr r3, [sp, #4]
- 8004216: 0020 movs r0, r4
- 8004218: 691a ldr r2, [r3, #16]
- 800421a: f002 fea9 bl 8006f70 <d_print_comp>
- 800421e: 5963 ldr r3, [r4, r5]
- 8004220: 4543 cmp r3, r8
- 8004222: d000 beq.n 8004226 <d_print_comp_inner+0x1e2>
- 8004224: e749 b.n 80040ba <d_print_comp_inner+0x76>
- 8004226: 59e3 ldr r3, [r4, r7]
- 8004228: 454b cmp r3, r9
- 800422a: d000 beq.n 800422e <d_print_comp_inner+0x1ea>
- 800422c: e745 b.n 80040ba <d_print_comp_inner+0x76>
- 800422e: 3b02 subs r3, #2
- 8004230: 51e3 str r3, [r4, r7]
- 8004232: e742 b.n 80040ba <d_print_comp_inner+0x76>
- 8004234: 238a movs r3, #138 @ 0x8a
- 8004236: ad0a add r5, sp, #40 @ 0x28
- 8004238: 005b lsls r3, r3, #1
- 800423a: 58c2 ldr r2, [r0, r3]
- 800423c: 50c5 str r5, [r0, r3]
- 800423e: 2300 movs r3, #0
- 8004240: 930c str r3, [sp, #48] @ 0x30
- 8004242: 3311 adds r3, #17
- 8004244: 920a str r2, [sp, #40] @ 0x28
- 8004246: 33ff adds r3, #255 @ 0xff
- 8004248: 9a01 ldr r2, [sp, #4]
- 800424a: 58c3 ldr r3, [r0, r3]
- 800424c: 920b str r2, [sp, #44] @ 0x2c
- 800424e: 2111 movs r1, #17
- 8004250: 6912 ldr r2, [r2, #16]
- 8004252: 930d str r3, [sp, #52] @ 0x34
- 8004254: f002 fe8c bl 8006f70 <d_print_comp>
- 8004258: 9b0c ldr r3, [sp, #48] @ 0x30
- 800425a: 2b00 cmp r3, #0
- 800425c: d101 bne.n 8004262 <d_print_comp_inner+0x21e>
- 800425e: f002 f87c bl 800635a <d_print_comp_inner+0x2316>
- 8004262: 238a movs r3, #138 @ 0x8a
- 8004264: 9a0a ldr r2, [sp, #40] @ 0x28
- 8004266: 005b lsls r3, r3, #1
- 8004268: 50e2 str r2, [r4, r3]
- 800426a: e726 b.n 80040ba <d_print_comp_inner+0x76>
- 800426c: 9e01 ldr r6, [sp, #4]
- 800426e: 68f2 ldr r2, [r6, #12]
- 8004270: 2a00 cmp r2, #0
- 8004272: d101 bne.n 8004278 <d_print_comp_inner+0x234>
- 8004274: f001 ff6f bl 8006156 <d_print_comp_inner+0x2112>
- 8004278: 2111 movs r1, #17
- 800427a: f002 fe79 bl 8006f70 <d_print_comp>
- 800427e: 7833 ldrb r3, [r6, #0]
- 8004280: 2b54 cmp r3, #84 @ 0x54
- 8004282: d101 bne.n 8004288 <d_print_comp_inner+0x244>
- 8004284: f001 ff6b bl 800615e <d_print_comp_inner+0x211a>
- 8004288: 9b01 ldr r3, [sp, #4]
- 800428a: 252e movs r5, #46 @ 0x2e
- 800428c: 68db ldr r3, [r3, #12]
- 800428e: 2b00 cmp r3, #0
- 8004290: d00e beq.n 80042b0 <d_print_comp_inner+0x26c>
- 8004292: 2380 movs r3, #128 @ 0x80
- 8004294: 005b lsls r3, r3, #1
- 8004296: 58e3 ldr r3, [r4, r3]
- 8004298: 2bff cmp r3, #255 @ 0xff
- 800429a: d101 bne.n 80042a0 <d_print_comp_inner+0x25c>
- 800429c: f002 fbf0 bl 8006a80 <d_print_comp_inner+0x2a3c>
- 80042a0: 1c59 adds r1, r3, #1
- 80042a2: 2280 movs r2, #128 @ 0x80
- 80042a4: 0052 lsls r2, r2, #1
- 80042a6: 50a1 str r1, [r4, r2]
- 80042a8: 54e5 strb r5, [r4, r3]
- 80042aa: 2382 movs r3, #130 @ 0x82
- 80042ac: 005b lsls r3, r3, #1
- 80042ae: 54e5 strb r5, [r4, r3]
- 80042b0: 9b01 ldr r3, [sp, #4]
- 80042b2: 2111 movs r1, #17
- 80042b4: 0020 movs r0, r4
- 80042b6: 691a ldr r2, [r3, #16]
- 80042b8: f002 fe5a bl 8006f70 <d_print_comp>
- 80042bc: e6fd b.n 80040ba <d_print_comp_inner+0x76>
- 80042be: 9b01 ldr r3, [sp, #4]
- 80042c0: 68da ldr r2, [r3, #12]
- 80042c2: 7813 ldrb r3, [r2, #0]
- 80042c4: 2b27 cmp r3, #39 @ 0x27
- 80042c6: d001 beq.n 80042cc <d_print_comp_inner+0x288>
- 80042c8: f001 ff42 bl 8006150 <d_print_comp_inner+0x210c>
- 80042cc: 68d3 ldr r3, [r2, #12]
- 80042ce: 7c1f ldrb r7, [r3, #16]
- 80042d0: 2f06 cmp r7, #6
- 80042d2: d901 bls.n 80042d8 <d_print_comp_inner+0x294>
- 80042d4: f002 f894 bl 8006400 <d_print_comp_inner+0x23bc>
- 80042d8: 2f00 cmp r7, #0
- 80042da: d006 beq.n 80042ea <d_print_comp_inner+0x2a6>
- 80042dc: 9b01 ldr r3, [sp, #4]
- 80042de: 691b ldr r3, [r3, #16]
- 80042e0: 781b ldrb r3, [r3, #0]
- 80042e2: 2b00 cmp r3, #0
- 80042e4: d101 bne.n 80042ea <d_print_comp_inner+0x2a6>
- 80042e6: f002 fd15 bl 8006d14 <d_print_comp_inner+0x2cd0>
- 80042ea: 2380 movs r3, #128 @ 0x80
- 80042ec: 005b lsls r3, r3, #1
- 80042ee: 58e3 ldr r3, [r4, r3]
- 80042f0: 2bff cmp r3, #255 @ 0xff
- 80042f2: d101 bne.n 80042f8 <d_print_comp_inner+0x2b4>
- 80042f4: f002 fb1a bl 800692c <d_print_comp_inner+0x28e8>
- 80042f8: 1c59 adds r1, r3, #1
- 80042fa: 2580 movs r5, #128 @ 0x80
- 80042fc: 006d lsls r5, r5, #1
- 80042fe: 5161 str r1, [r4, r5]
- 8004300: 2128 movs r1, #40 @ 0x28
- 8004302: 54e1 strb r1, [r4, r3]
- 8004304: 2382 movs r3, #130 @ 0x82
- 8004306: 005b lsls r3, r3, #1
- 8004308: 54e1 strb r1, [r4, r3]
- 800430a: 0020 movs r0, r4
- 800430c: 3917 subs r1, #23
- 800430e: f002 fe2f bl 8006f70 <d_print_comp>
- 8004312: 5963 ldr r3, [r4, r5]
- 8004314: 2bff cmp r3, #255 @ 0xff
- 8004316: d101 bne.n 800431c <d_print_comp_inner+0x2d8>
- 8004318: f002 faf5 bl 8006906 <d_print_comp_inner+0x28c2>
- 800431c: 1c59 adds r1, r3, #1
- 800431e: 2280 movs r2, #128 @ 0x80
- 8004320: 0052 lsls r2, r2, #1
- 8004322: 50a1 str r1, [r4, r2]
- 8004324: 3ad7 subs r2, #215 @ 0xd7
- 8004326: 54e2 strb r2, [r4, r3]
- 8004328: 2382 movs r3, #130 @ 0x82
- 800432a: 005b lsls r3, r3, #1
- 800432c: 54e2 strb r2, [r4, r3]
- 800432e: 9b01 ldr r3, [sp, #4]
- 8004330: 781b ldrb r3, [r3, #0]
- 8004332: 2b3e cmp r3, #62 @ 0x3e
- 8004334: d101 bne.n 800433a <d_print_comp_inner+0x2f6>
- 8004336: f002 fb0e bl 8006956 <d_print_comp_inner+0x2912>
- 800433a: 2f08 cmp r7, #8
- 800433c: d101 bne.n 8004342 <d_print_comp_inner+0x2fe>
- 800433e: f002 fad2 bl 80068e6 <d_print_comp_inner+0x28a2>
- 8004342: 9b01 ldr r3, [sp, #4]
- 8004344: 2111 movs r1, #17
- 8004346: 0020 movs r0, r4
- 8004348: 691a ldr r2, [r3, #16]
- 800434a: f002 fe11 bl 8006f70 <d_print_comp>
- 800434e: e6b4 b.n 80040ba <d_print_comp_inner+0x76>
- 8004350: 9d01 ldr r5, [sp, #4]
- 8004352: 2111 movs r1, #17
- 8004354: 68ea ldr r2, [r5, #12]
- 8004356: f002 fe0b bl 8006f70 <d_print_comp>
- 800435a: 0020 movs r0, r4
- 800435c: 4921 ldr r1, [pc, #132] @ (80043e4 <d_print_comp_inner+0x3a0>)
- 800435e: f7fd fcab bl 8001cb8 <d_append_string>
- 8004362: 692f ldr r7, [r5, #16]
- 8004364: 783b ldrb r3, [r7, #0]
- 8004366: 2b48 cmp r3, #72 @ 0x48
- 8004368: d101 bne.n 800436e <d_print_comp_inner+0x32a>
- 800436a: f002 f8ed bl 8006548 <d_print_comp_inner+0x2504>
- 800436e: 003a movs r2, r7
- 8004370: 2111 movs r1, #17
- 8004372: 0020 movs r0, r4
- 8004374: f002 fdfc bl 8006f70 <d_print_comp>
- 8004378: e69f b.n 80040ba <d_print_comp_inner+0x76>
- 800437a: 220e movs r2, #14
- 800437c: 4691 mov r9, r2
- 800437e: 2200 movs r2, #0
- 8004380: 2380 movs r3, #128 @ 0x80
- 8004382: 4693 mov fp, r2
- 8004384: 4d18 ldr r5, [pc, #96] @ (80043e8 <d_print_comp_inner+0x3a4>)
- 8004386: 320d adds r2, #13
- 8004388: 005b lsls r3, r3, #1
- 800438a: 32ff adds r2, #255 @ 0xff
- 800438c: 4692 mov sl, r2
- 800438e: 58c3 ldr r3, [r0, r3]
- 8004390: 44a9 add r9, r5
- 8004392: e00e b.n 80043b2 <d_print_comp_inner+0x36e>
- 8004394: 001a movs r2, r3
- 8004396: 3301 adds r3, #1
- 8004398: 2180 movs r1, #128 @ 0x80
- 800439a: 0049 lsls r1, r1, #1
- 800439c: 5063 str r3, [r4, r1]
- 800439e: 54a6 strb r6, [r4, r2]
- 80043a0: 2282 movs r2, #130 @ 0x82
- 80043a2: 3501 adds r5, #1
- 80043a4: 0052 lsls r2, r2, #1
- 80043a6: 4688 mov r8, r1
- 80043a8: 54a6 strb r6, [r4, r2]
- 80043aa: 454d cmp r5, r9
- 80043ac: d101 bne.n 80043b2 <d_print_comp_inner+0x36e>
- 80043ae: f001 fc03 bl 8005bb8 <d_print_comp_inner+0x1b74>
- 80043b2: 782e ldrb r6, [r5, #0]
- 80043b4: 2bff cmp r3, #255 @ 0xff
- 80043b6: d1ed bne.n 8004394 <d_print_comp_inner+0x350>
- 80043b8: 465a mov r2, fp
- 80043ba: 54e2 strb r2, [r4, r3]
- 80043bc: 4653 mov r3, sl
- 80043be: 58e2 ldr r2, [r4, r3]
- 80043c0: 2384 movs r3, #132 @ 0x84
- 80043c2: 005b lsls r3, r3, #1
- 80043c4: 58e3 ldr r3, [r4, r3]
- 80043c6: 21ff movs r1, #255 @ 0xff
- 80043c8: 0020 movs r0, r4
- 80043ca: 4798 blx r3
- 80043cc: 2294 movs r2, #148 @ 0x94
- 80043ce: 0052 lsls r2, r2, #1
- 80043d0: 58a3 ldr r3, [r4, r2]
- 80043d2: 3301 adds r3, #1
- 80043d4: 50a3 str r3, [r4, r2]
- 80043d6: 2301 movs r3, #1
- 80043d8: 2200 movs r2, #0
- 80043da: e7dd b.n 8004398 <d_print_comp_inner+0x354>
- 80043dc: 08015058 .word 0x08015058
- 80043e0: 08014154 .word 0x08014154
- 80043e4: 08014158 .word 0x08014158
- 80043e8: 080143c4 .word 0x080143c4
- 80043ec: 2209 movs r2, #9
- 80043ee: 4690 mov r8, r2
- 80043f0: 2200 movs r2, #0
- 80043f2: 2380 movs r3, #128 @ 0x80
- 80043f4: 4693 mov fp, r2
- 80043f6: 320d adds r2, #13
- 80043f8: 32ff adds r2, #255 @ 0xff
- 80043fa: 4de4 ldr r5, [pc, #912] @ (800478c <d_print_comp_inner+0x748>)
- 80043fc: 4692 mov sl, r2
- 80043fe: 005b lsls r3, r3, #1
- 8004400: 3a04 subs r2, #4
- 8004402: 4691 mov r9, r2
- 8004404: 58c3 ldr r3, [r0, r3]
- 8004406: 44a8 add r8, r5
- 8004408: e00d b.n 8004426 <d_print_comp_inner+0x3e2>
- 800440a: 001a movs r2, r3
- 800440c: 3301 adds r3, #1
- 800440e: 2180 movs r1, #128 @ 0x80
- 8004410: 0049 lsls r1, r1, #1
- 8004412: 5063 str r3, [r4, r1]
- 8004414: 54a6 strb r6, [r4, r2]
- 8004416: 2282 movs r2, #130 @ 0x82
- 8004418: 3501 adds r5, #1
- 800441a: 0052 lsls r2, r2, #1
- 800441c: 54a6 strb r6, [r4, r2]
- 800441e: 4545 cmp r5, r8
- 8004420: d101 bne.n 8004426 <d_print_comp_inner+0x3e2>
- 8004422: f001 fbb9 bl 8005b98 <d_print_comp_inner+0x1b54>
- 8004426: 782e ldrb r6, [r5, #0]
- 8004428: 2bff cmp r3, #255 @ 0xff
- 800442a: d1ee bne.n 800440a <d_print_comp_inner+0x3c6>
- 800442c: 465a mov r2, fp
- 800442e: 54e2 strb r2, [r4, r3]
- 8004430: 4653 mov r3, sl
- 8004432: 58e2 ldr r2, [r4, r3]
- 8004434: 464b mov r3, r9
- 8004436: 21ff movs r1, #255 @ 0xff
- 8004438: 58e3 ldr r3, [r4, r3]
- 800443a: 0020 movs r0, r4
- 800443c: 4798 blx r3
- 800443e: 2294 movs r2, #148 @ 0x94
- 8004440: 0052 lsls r2, r2, #1
- 8004442: 58a3 ldr r3, [r4, r2]
- 8004444: 3301 adds r3, #1
- 8004446: 50a3 str r3, [r4, r2]
- 8004448: 2301 movs r3, #1
- 800444a: 2200 movs r2, #0
- 800444c: e7df b.n 800440e <d_print_comp_inner+0x3ca>
- 800444e: 9b01 ldr r3, [sp, #4]
- 8004450: 49cf ldr r1, [pc, #828] @ (8004790 <d_print_comp_inner+0x74c>)
- 8004452: 68de ldr r6, [r3, #12]
- 8004454: 68b7 ldr r7, [r6, #8]
- 8004456: f7fd fc2f bl 8001cb8 <d_append_string>
- 800445a: 6875 ldr r5, [r6, #4]
- 800445c: 782b ldrb r3, [r5, #0]
- 800445e: 3b61 subs r3, #97 @ 0x61
- 8004460: 2b19 cmp r3, #25
- 8004462: d801 bhi.n 8004468 <d_print_comp_inner+0x424>
- 8004464: f001 ff72 bl 800634c <d_print_comp_inner+0x2308>
- 8004468: 1e7b subs r3, r7, #1
- 800446a: 5cea ldrb r2, [r5, r3]
- 800446c: 2a20 cmp r2, #32
- 800446e: d100 bne.n 8004472 <d_print_comp_inner+0x42e>
- 8004470: 001f movs r7, r3
- 8004472: 2f00 cmp r7, #0
- 8004474: d100 bne.n 8004478 <d_print_comp_inner+0x434>
- 8004476: e620 b.n 80040ba <d_print_comp_inner+0x76>
- 8004478: 2200 movs r2, #0
- 800447a: 2380 movs r3, #128 @ 0x80
- 800447c: 4692 mov sl, r2
- 800447e: 320d adds r2, #13
- 8004480: 32ff adds r2, #255 @ 0xff
- 8004482: 4691 mov r9, r2
- 8004484: 005b lsls r3, r3, #1
- 8004486: 3a04 subs r2, #4
- 8004488: 4690 mov r8, r2
- 800448a: 58e3 ldr r3, [r4, r3]
- 800448c: 19ef adds r7, r5, r7
- 800448e: e00c b.n 80044aa <d_print_comp_inner+0x466>
- 8004490: 001a movs r2, r3
- 8004492: 3301 adds r3, #1
- 8004494: 2180 movs r1, #128 @ 0x80
- 8004496: 0049 lsls r1, r1, #1
- 8004498: 5063 str r3, [r4, r1]
- 800449a: 54a6 strb r6, [r4, r2]
- 800449c: 2282 movs r2, #130 @ 0x82
- 800449e: 3501 adds r5, #1
- 80044a0: 0052 lsls r2, r2, #1
- 80044a2: 54a6 strb r6, [r4, r2]
- 80044a4: 42af cmp r7, r5
- 80044a6: d100 bne.n 80044aa <d_print_comp_inner+0x466>
- 80044a8: e607 b.n 80040ba <d_print_comp_inner+0x76>
- 80044aa: 782e ldrb r6, [r5, #0]
- 80044ac: 2bff cmp r3, #255 @ 0xff
- 80044ae: d1ef bne.n 8004490 <d_print_comp_inner+0x44c>
- 80044b0: 4652 mov r2, sl
- 80044b2: 54e2 strb r2, [r4, r3]
- 80044b4: 464b mov r3, r9
- 80044b6: 58e2 ldr r2, [r4, r3]
- 80044b8: 4643 mov r3, r8
- 80044ba: 21ff movs r1, #255 @ 0xff
- 80044bc: 58e3 ldr r3, [r4, r3]
- 80044be: 0020 movs r0, r4
- 80044c0: 4798 blx r3
- 80044c2: 2294 movs r2, #148 @ 0x94
- 80044c4: 0052 lsls r2, r2, #1
- 80044c6: 58a3 ldr r3, [r4, r2]
- 80044c8: 3301 adds r3, #1
- 80044ca: 50a3 str r3, [r4, r2]
- 80044cc: 2301 movs r3, #1
- 80044ce: 2200 movs r2, #0
- 80044d0: e7e0 b.n 8004494 <d_print_comp_inner+0x450>
- 80044d2: 9b01 ldr r3, [sp, #4]
- 80044d4: 68da ldr r2, [r3, #12]
- 80044d6: 691e ldr r6, [r3, #16]
- 80044d8: 2a00 cmp r2, #0
- 80044da: d002 beq.n 80044e2 <d_print_comp_inner+0x49e>
- 80044dc: 2111 movs r1, #17
- 80044de: f002 fd47 bl 8006f70 <d_print_comp>
- 80044e2: 2380 movs r3, #128 @ 0x80
- 80044e4: 005b lsls r3, r3, #1
- 80044e6: 58e3 ldr r3, [r4, r3]
- 80044e8: 2bff cmp r3, #255 @ 0xff
- 80044ea: d101 bne.n 80044f0 <d_print_comp_inner+0x4ac>
- 80044ec: f002 f91b bl 8006726 <d_print_comp_inner+0x26e2>
- 80044f0: 1c5a adds r2, r3, #1
- 80044f2: 2580 movs r5, #128 @ 0x80
- 80044f4: 006d lsls r5, r5, #1
- 80044f6: 5162 str r2, [r4, r5]
- 80044f8: 227b movs r2, #123 @ 0x7b
- 80044fa: 54e2 strb r2, [r4, r3]
- 80044fc: 2382 movs r3, #130 @ 0x82
- 80044fe: 005b lsls r3, r3, #1
- 8004500: 54e2 strb r2, [r4, r3]
- 8004502: 2111 movs r1, #17
- 8004504: 0032 movs r2, r6
- 8004506: 0020 movs r0, r4
- 8004508: f002 fd32 bl 8006f70 <d_print_comp>
- 800450c: 5963 ldr r3, [r4, r5]
- 800450e: 2bff cmp r3, #255 @ 0xff
- 8004510: d101 bne.n 8004516 <d_print_comp_inner+0x4d2>
- 8004512: f002 f8f5 bl 8006700 <d_print_comp_inner+0x26bc>
- 8004516: 1c59 adds r1, r3, #1
- 8004518: 2280 movs r2, #128 @ 0x80
- 800451a: 0052 lsls r2, r2, #1
- 800451c: 50a1 str r1, [r4, r2]
- 800451e: 3a83 subs r2, #131 @ 0x83
- 8004520: 54e2 strb r2, [r4, r3]
- 8004522: 2382 movs r3, #130 @ 0x82
- 8004524: 005b lsls r3, r3, #1
- 8004526: 54e2 strb r2, [r4, r3]
- 8004528: e5c7 b.n 80040ba <d_print_comp_inner+0x76>
- 800452a: 499a ldr r1, [pc, #616] @ (8004794 <d_print_comp_inner+0x750>)
- 800452c: f7fd fbc4 bl 8001cb8 <d_append_string>
- 8004530: 9b01 ldr r3, [sp, #4]
- 8004532: 2111 movs r1, #17
- 8004534: 0020 movs r0, r4
- 8004536: 68da ldr r2, [r3, #12]
- 8004538: f002 fd1a bl 8006f70 <d_print_comp>
- 800453c: e5bd b.n 80040ba <d_print_comp_inner+0x76>
- 800453e: 2219 movs r2, #25
- 8004540: 4690 mov r8, r2
- 8004542: 2200 movs r2, #0
- 8004544: 2380 movs r3, #128 @ 0x80
- 8004546: 4693 mov fp, r2
- 8004548: 320d adds r2, #13
- 800454a: 32ff adds r2, #255 @ 0xff
- 800454c: 4d92 ldr r5, [pc, #584] @ (8004798 <d_print_comp_inner+0x754>)
- 800454e: 4692 mov sl, r2
- 8004550: 005b lsls r3, r3, #1
- 8004552: 3a04 subs r2, #4
- 8004554: 4691 mov r9, r2
- 8004556: 58c3 ldr r3, [r0, r3]
- 8004558: 44a8 add r8, r5
- 800455a: e00d b.n 8004578 <d_print_comp_inner+0x534>
- 800455c: 001a movs r2, r3
- 800455e: 3301 adds r3, #1
- 8004560: 2180 movs r1, #128 @ 0x80
- 8004562: 0049 lsls r1, r1, #1
- 8004564: 5063 str r3, [r4, r1]
- 8004566: 54a6 strb r6, [r4, r2]
- 8004568: 2282 movs r2, #130 @ 0x82
- 800456a: 3501 adds r5, #1
- 800456c: 0052 lsls r2, r2, #1
- 800456e: 54a6 strb r6, [r4, r2]
- 8004570: 45a8 cmp r8, r5
- 8004572: d101 bne.n 8004578 <d_print_comp_inner+0x534>
- 8004574: f001 fc2c bl 8005dd0 <d_print_comp_inner+0x1d8c>
- 8004578: 782e ldrb r6, [r5, #0]
- 800457a: 2bff cmp r3, #255 @ 0xff
- 800457c: d1ee bne.n 800455c <d_print_comp_inner+0x518>
- 800457e: 465a mov r2, fp
- 8004580: 54e2 strb r2, [r4, r3]
- 8004582: 4653 mov r3, sl
- 8004584: 58e2 ldr r2, [r4, r3]
- 8004586: 464b mov r3, r9
- 8004588: 21ff movs r1, #255 @ 0xff
- 800458a: 58e3 ldr r3, [r4, r3]
- 800458c: 0020 movs r0, r4
- 800458e: 4798 blx r3
- 8004590: 2294 movs r2, #148 @ 0x94
- 8004592: 0052 lsls r2, r2, #1
- 8004594: 58a3 ldr r3, [r4, r2]
- 8004596: 3301 adds r3, #1
- 8004598: 50a3 str r3, [r4, r2]
- 800459a: 2301 movs r3, #1
- 800459c: 2200 movs r2, #0
- 800459e: e7df b.n 8004560 <d_print_comp_inner+0x51c>
- 80045a0: 2216 movs r2, #22
- 80045a2: 4690 mov r8, r2
- 80045a4: 2200 movs r2, #0
- 80045a6: 2380 movs r3, #128 @ 0x80
- 80045a8: 4693 mov fp, r2
- 80045aa: 320d adds r2, #13
- 80045ac: 32ff adds r2, #255 @ 0xff
- 80045ae: 4d7b ldr r5, [pc, #492] @ (800479c <d_print_comp_inner+0x758>)
- 80045b0: 4692 mov sl, r2
- 80045b2: 005b lsls r3, r3, #1
- 80045b4: 3a04 subs r2, #4
- 80045b6: 4691 mov r9, r2
- 80045b8: 58c3 ldr r3, [r0, r3]
- 80045ba: 44a8 add r8, r5
- 80045bc: e00d b.n 80045da <d_print_comp_inner+0x596>
- 80045be: 001a movs r2, r3
- 80045c0: 3301 adds r3, #1
- 80045c2: 2180 movs r1, #128 @ 0x80
- 80045c4: 0049 lsls r1, r1, #1
- 80045c6: 5063 str r3, [r4, r1]
- 80045c8: 54a6 strb r6, [r4, r2]
- 80045ca: 2282 movs r2, #130 @ 0x82
- 80045cc: 3501 adds r5, #1
- 80045ce: 0052 lsls r2, r2, #1
- 80045d0: 54a6 strb r6, [r4, r2]
- 80045d2: 45a8 cmp r8, r5
- 80045d4: d101 bne.n 80045da <d_print_comp_inner+0x596>
- 80045d6: f001 fbf3 bl 8005dc0 <d_print_comp_inner+0x1d7c>
- 80045da: 782e ldrb r6, [r5, #0]
- 80045dc: 2bff cmp r3, #255 @ 0xff
- 80045de: d1ee bne.n 80045be <d_print_comp_inner+0x57a>
- 80045e0: 465a mov r2, fp
- 80045e2: 54e2 strb r2, [r4, r3]
- 80045e4: 4653 mov r3, sl
- 80045e6: 58e2 ldr r2, [r4, r3]
- 80045e8: 464b mov r3, r9
- 80045ea: 21ff movs r1, #255 @ 0xff
- 80045ec: 58e3 ldr r3, [r4, r3]
- 80045ee: 0020 movs r0, r4
- 80045f0: 4798 blx r3
- 80045f2: 2294 movs r2, #148 @ 0x94
- 80045f4: 0052 lsls r2, r2, #1
- 80045f6: 58a3 ldr r3, [r4, r2]
- 80045f8: 3301 adds r3, #1
- 80045fa: 50a3 str r3, [r4, r2]
- 80045fc: 2301 movs r3, #1
- 80045fe: 2200 movs r2, #0
- 8004600: e7df b.n 80045c2 <d_print_comp_inner+0x57e>
- 8004602: 2213 movs r2, #19
- 8004604: 4690 mov r8, r2
- 8004606: 2200 movs r2, #0
- 8004608: 2380 movs r3, #128 @ 0x80
- 800460a: 4693 mov fp, r2
- 800460c: 320d adds r2, #13
- 800460e: 32ff adds r2, #255 @ 0xff
- 8004610: 4d63 ldr r5, [pc, #396] @ (80047a0 <d_print_comp_inner+0x75c>)
- 8004612: 4692 mov sl, r2
- 8004614: 005b lsls r3, r3, #1
- 8004616: 3a04 subs r2, #4
- 8004618: 4691 mov r9, r2
- 800461a: 58c3 ldr r3, [r0, r3]
- 800461c: 44a8 add r8, r5
- 800461e: e00d b.n 800463c <d_print_comp_inner+0x5f8>
- 8004620: 001a movs r2, r3
- 8004622: 3301 adds r3, #1
- 8004624: 2180 movs r1, #128 @ 0x80
- 8004626: 0049 lsls r1, r1, #1
- 8004628: 5063 str r3, [r4, r1]
- 800462a: 54a6 strb r6, [r4, r2]
- 800462c: 2282 movs r2, #130 @ 0x82
- 800462e: 3501 adds r5, #1
- 8004630: 0052 lsls r2, r2, #1
- 8004632: 54a6 strb r6, [r4, r2]
- 8004634: 45a8 cmp r8, r5
- 8004636: d101 bne.n 800463c <d_print_comp_inner+0x5f8>
- 8004638: f001 fbba bl 8005db0 <d_print_comp_inner+0x1d6c>
- 800463c: 782e ldrb r6, [r5, #0]
- 800463e: 2bff cmp r3, #255 @ 0xff
- 8004640: d1ee bne.n 8004620 <d_print_comp_inner+0x5dc>
- 8004642: 465a mov r2, fp
- 8004644: 54e2 strb r2, [r4, r3]
- 8004646: 4653 mov r3, sl
- 8004648: 58e2 ldr r2, [r4, r3]
- 800464a: 464b mov r3, r9
- 800464c: 21ff movs r1, #255 @ 0xff
- 800464e: 58e3 ldr r3, [r4, r3]
- 8004650: 0020 movs r0, r4
- 8004652: 4798 blx r3
- 8004654: 2294 movs r2, #148 @ 0x94
- 8004656: 0052 lsls r2, r2, #1
- 8004658: 58a3 ldr r3, [r4, r2]
- 800465a: 3301 adds r3, #1
- 800465c: 50a3 str r3, [r4, r2]
- 800465e: 2301 movs r3, #1
- 8004660: 2200 movs r2, #0
- 8004662: e7df b.n 8004624 <d_print_comp_inner+0x5e0>
- 8004664: 220f movs r2, #15
- 8004666: 4690 mov r8, r2
- 8004668: 2200 movs r2, #0
- 800466a: 2380 movs r3, #128 @ 0x80
- 800466c: 4693 mov fp, r2
- 800466e: 320d adds r2, #13
- 8004670: 32ff adds r2, #255 @ 0xff
- 8004672: 4d4c ldr r5, [pc, #304] @ (80047a4 <d_print_comp_inner+0x760>)
- 8004674: 4692 mov sl, r2
- 8004676: 005b lsls r3, r3, #1
- 8004678: 3a04 subs r2, #4
- 800467a: 4691 mov r9, r2
- 800467c: 58c3 ldr r3, [r0, r3]
- 800467e: 44a8 add r8, r5
- 8004680: e00d b.n 800469e <d_print_comp_inner+0x65a>
- 8004682: 001a movs r2, r3
- 8004684: 3301 adds r3, #1
- 8004686: 2180 movs r1, #128 @ 0x80
- 8004688: 0049 lsls r1, r1, #1
- 800468a: 5063 str r3, [r4, r1]
- 800468c: 54a6 strb r6, [r4, r2]
- 800468e: 2282 movs r2, #130 @ 0x82
- 8004690: 3501 adds r5, #1
- 8004692: 0052 lsls r2, r2, #1
- 8004694: 54a6 strb r6, [r4, r2]
- 8004696: 45a8 cmp r8, r5
- 8004698: d101 bne.n 800469e <d_print_comp_inner+0x65a>
- 800469a: f001 fb81 bl 8005da0 <d_print_comp_inner+0x1d5c>
- 800469e: 782e ldrb r6, [r5, #0]
- 80046a0: 2bff cmp r3, #255 @ 0xff
- 80046a2: d1ee bne.n 8004682 <d_print_comp_inner+0x63e>
- 80046a4: 465a mov r2, fp
- 80046a6: 54e2 strb r2, [r4, r3]
- 80046a8: 4653 mov r3, sl
- 80046aa: 58e2 ldr r2, [r4, r3]
- 80046ac: 464b mov r3, r9
- 80046ae: 21ff movs r1, #255 @ 0xff
- 80046b0: 58e3 ldr r3, [r4, r3]
- 80046b2: 0020 movs r0, r4
- 80046b4: 4798 blx r3
- 80046b6: 2294 movs r2, #148 @ 0x94
- 80046b8: 0052 lsls r2, r2, #1
- 80046ba: 58a3 ldr r3, [r4, r2]
- 80046bc: 3301 adds r3, #1
- 80046be: 50a3 str r3, [r4, r2]
- 80046c0: 2301 movs r3, #1
- 80046c2: 2200 movs r2, #0
- 80046c4: e7df b.n 8004686 <d_print_comp_inner+0x642>
- 80046c6: 221a movs r2, #26
- 80046c8: 4690 mov r8, r2
- 80046ca: 2200 movs r2, #0
- 80046cc: 2380 movs r3, #128 @ 0x80
- 80046ce: 4693 mov fp, r2
- 80046d0: 320d adds r2, #13
- 80046d2: 32ff adds r2, #255 @ 0xff
- 80046d4: 4d34 ldr r5, [pc, #208] @ (80047a8 <d_print_comp_inner+0x764>)
- 80046d6: 4692 mov sl, r2
- 80046d8: 005b lsls r3, r3, #1
- 80046da: 3a04 subs r2, #4
- 80046dc: 4691 mov r9, r2
- 80046de: 58c3 ldr r3, [r0, r3]
- 80046e0: 44a8 add r8, r5
- 80046e2: e00d b.n 8004700 <d_print_comp_inner+0x6bc>
- 80046e4: 001a movs r2, r3
- 80046e6: 3301 adds r3, #1
- 80046e8: 2180 movs r1, #128 @ 0x80
- 80046ea: 0049 lsls r1, r1, #1
- 80046ec: 5063 str r3, [r4, r1]
- 80046ee: 54a6 strb r6, [r4, r2]
- 80046f0: 2282 movs r2, #130 @ 0x82
- 80046f2: 3501 adds r5, #1
- 80046f4: 0052 lsls r2, r2, #1
- 80046f6: 54a6 strb r6, [r4, r2]
- 80046f8: 45a8 cmp r8, r5
- 80046fa: d101 bne.n 8004700 <d_print_comp_inner+0x6bc>
- 80046fc: f001 fb48 bl 8005d90 <d_print_comp_inner+0x1d4c>
- 8004700: 782e ldrb r6, [r5, #0]
- 8004702: 2bff cmp r3, #255 @ 0xff
- 8004704: d1ee bne.n 80046e4 <d_print_comp_inner+0x6a0>
- 8004706: 465a mov r2, fp
- 8004708: 54e2 strb r2, [r4, r3]
- 800470a: 4653 mov r3, sl
- 800470c: 58e2 ldr r2, [r4, r3]
- 800470e: 464b mov r3, r9
- 8004710: 21ff movs r1, #255 @ 0xff
- 8004712: 58e3 ldr r3, [r4, r3]
- 8004714: 0020 movs r0, r4
- 8004716: 4798 blx r3
- 8004718: 2294 movs r2, #148 @ 0x94
- 800471a: 0052 lsls r2, r2, #1
- 800471c: 58a3 ldr r3, [r4, r2]
- 800471e: 3301 adds r3, #1
- 8004720: 50a3 str r3, [r4, r2]
- 8004722: 2301 movs r3, #1
- 8004724: 2200 movs r2, #0
- 8004726: e7df b.n 80046e8 <d_print_comp_inner+0x6a4>
- 8004728: 2211 movs r2, #17
- 800472a: 4690 mov r8, r2
- 800472c: 2200 movs r2, #0
- 800472e: 2380 movs r3, #128 @ 0x80
- 8004730: 4693 mov fp, r2
- 8004732: 320d adds r2, #13
- 8004734: 32ff adds r2, #255 @ 0xff
- 8004736: 4d1d ldr r5, [pc, #116] @ (80047ac <d_print_comp_inner+0x768>)
- 8004738: 4692 mov sl, r2
- 800473a: 005b lsls r3, r3, #1
- 800473c: 3a04 subs r2, #4
- 800473e: 4691 mov r9, r2
- 8004740: 58c3 ldr r3, [r0, r3]
- 8004742: 44a8 add r8, r5
- 8004744: e00d b.n 8004762 <d_print_comp_inner+0x71e>
- 8004746: 001a movs r2, r3
- 8004748: 3301 adds r3, #1
- 800474a: 2180 movs r1, #128 @ 0x80
- 800474c: 0049 lsls r1, r1, #1
- 800474e: 5063 str r3, [r4, r1]
- 8004750: 54a6 strb r6, [r4, r2]
- 8004752: 2282 movs r2, #130 @ 0x82
- 8004754: 3501 adds r5, #1
- 8004756: 0052 lsls r2, r2, #1
- 8004758: 54a6 strb r6, [r4, r2]
- 800475a: 45a8 cmp r8, r5
- 800475c: d101 bne.n 8004762 <d_print_comp_inner+0x71e>
- 800475e: f001 fb0f bl 8005d80 <d_print_comp_inner+0x1d3c>
- 8004762: 782e ldrb r6, [r5, #0]
- 8004764: 2bff cmp r3, #255 @ 0xff
- 8004766: d1ee bne.n 8004746 <d_print_comp_inner+0x702>
- 8004768: 465a mov r2, fp
- 800476a: 54e2 strb r2, [r4, r3]
- 800476c: 4653 mov r3, sl
- 800476e: 58e2 ldr r2, [r4, r3]
- 8004770: 464b mov r3, r9
- 8004772: 21ff movs r1, #255 @ 0xff
- 8004774: 58e3 ldr r3, [r4, r3]
- 8004776: 0020 movs r0, r4
- 8004778: 4798 blx r3
- 800477a: 2294 movs r2, #148 @ 0x94
- 800477c: 0052 lsls r2, r2, #1
- 800477e: 58a3 ldr r3, [r4, r2]
- 8004780: 3301 adds r3, #1
- 8004782: 50a3 str r3, [r4, r2]
- 8004784: 2301 movs r3, #1
- 8004786: 2200 movs r2, #0
- 8004788: e7df b.n 800474a <d_print_comp_inner+0x706>
- 800478a: 46c0 nop @ (mov r8, r8)
- 800478c: 08014304 .word 0x08014304
- 8004790: 080142f8 .word 0x080142f8
- 8004794: 08014178 .word 0x08014178
- 8004798: 08014294 .word 0x08014294
- 800479c: 0801427c .word 0x0801427c
- 80047a0: 08014268 .word 0x08014268
- 80047a4: 08014258 .word 0x08014258
- 80047a8: 0801423c .word 0x0801423c
- 80047ac: 08014228 .word 0x08014228
- 80047b0: 2215 movs r2, #21
- 80047b2: 4690 mov r8, r2
- 80047b4: 2200 movs r2, #0
- 80047b6: 2380 movs r3, #128 @ 0x80
- 80047b8: 4693 mov fp, r2
- 80047ba: 320d adds r2, #13
- 80047bc: 32ff adds r2, #255 @ 0xff
- 80047be: 4dea ldr r5, [pc, #936] @ (8004b68 <d_print_comp_inner+0xb24>)
- 80047c0: 4692 mov sl, r2
- 80047c2: 005b lsls r3, r3, #1
- 80047c4: 3a04 subs r2, #4
- 80047c6: 4691 mov r9, r2
- 80047c8: 58c3 ldr r3, [r0, r3]
- 80047ca: 44a8 add r8, r5
- 80047cc: e00d b.n 80047ea <d_print_comp_inner+0x7a6>
- 80047ce: 001a movs r2, r3
- 80047d0: 3301 adds r3, #1
- 80047d2: 2180 movs r1, #128 @ 0x80
- 80047d4: 0049 lsls r1, r1, #1
- 80047d6: 5063 str r3, [r4, r1]
- 80047d8: 54a6 strb r6, [r4, r2]
- 80047da: 2282 movs r2, #130 @ 0x82
- 80047dc: 3501 adds r5, #1
- 80047de: 0052 lsls r2, r2, #1
- 80047e0: 54a6 strb r6, [r4, r2]
- 80047e2: 4545 cmp r5, r8
- 80047e4: d101 bne.n 80047ea <d_print_comp_inner+0x7a6>
- 80047e6: f001 fac3 bl 8005d70 <d_print_comp_inner+0x1d2c>
- 80047ea: 782e ldrb r6, [r5, #0]
- 80047ec: 2bff cmp r3, #255 @ 0xff
- 80047ee: d1ee bne.n 80047ce <d_print_comp_inner+0x78a>
- 80047f0: 465a mov r2, fp
- 80047f2: 54e2 strb r2, [r4, r3]
- 80047f4: 4653 mov r3, sl
- 80047f6: 58e2 ldr r2, [r4, r3]
- 80047f8: 464b mov r3, r9
- 80047fa: 21ff movs r1, #255 @ 0xff
- 80047fc: 58e3 ldr r3, [r4, r3]
- 80047fe: 0020 movs r0, r4
- 8004800: 4798 blx r3
- 8004802: 2294 movs r2, #148 @ 0x94
- 8004804: 0052 lsls r2, r2, #1
- 8004806: 58a3 ldr r3, [r4, r2]
- 8004808: 3301 adds r3, #1
- 800480a: 50a3 str r3, [r4, r2]
- 800480c: 2301 movs r3, #1
- 800480e: 2200 movs r2, #0
- 8004810: e7df b.n 80047d2 <d_print_comp_inner+0x78e>
- 8004812: 2210 movs r2, #16
- 8004814: 4690 mov r8, r2
- 8004816: 2200 movs r2, #0
- 8004818: 2380 movs r3, #128 @ 0x80
- 800481a: 4693 mov fp, r2
- 800481c: 320d adds r2, #13
- 800481e: 32ff adds r2, #255 @ 0xff
- 8004820: 4dd2 ldr r5, [pc, #840] @ (8004b6c <d_print_comp_inner+0xb28>)
- 8004822: 4692 mov sl, r2
- 8004824: 005b lsls r3, r3, #1
- 8004826: 3a04 subs r2, #4
- 8004828: 4691 mov r9, r2
- 800482a: 58c3 ldr r3, [r0, r3]
- 800482c: 44a8 add r8, r5
- 800482e: e00d b.n 800484c <d_print_comp_inner+0x808>
- 8004830: 001a movs r2, r3
- 8004832: 3301 adds r3, #1
- 8004834: 2180 movs r1, #128 @ 0x80
- 8004836: 0049 lsls r1, r1, #1
- 8004838: 5063 str r3, [r4, r1]
- 800483a: 54a6 strb r6, [r4, r2]
- 800483c: 2282 movs r2, #130 @ 0x82
- 800483e: 3501 adds r5, #1
- 8004840: 0052 lsls r2, r2, #1
- 8004842: 54a6 strb r6, [r4, r2]
- 8004844: 4545 cmp r5, r8
- 8004846: d101 bne.n 800484c <d_print_comp_inner+0x808>
- 8004848: f001 fada bl 8005e00 <d_print_comp_inner+0x1dbc>
- 800484c: 782e ldrb r6, [r5, #0]
- 800484e: 2bff cmp r3, #255 @ 0xff
- 8004850: d1ee bne.n 8004830 <d_print_comp_inner+0x7ec>
- 8004852: 465a mov r2, fp
- 8004854: 54e2 strb r2, [r4, r3]
- 8004856: 4653 mov r3, sl
- 8004858: 58e2 ldr r2, [r4, r3]
- 800485a: 464b mov r3, r9
- 800485c: 21ff movs r1, #255 @ 0xff
- 800485e: 58e3 ldr r3, [r4, r3]
- 8004860: 0020 movs r0, r4
- 8004862: 4798 blx r3
- 8004864: 2294 movs r2, #148 @ 0x94
- 8004866: 0052 lsls r2, r2, #1
- 8004868: 58a3 ldr r3, [r4, r2]
- 800486a: 3301 adds r3, #1
- 800486c: 50a3 str r3, [r4, r2]
- 800486e: 2301 movs r3, #1
- 8004870: 2200 movs r2, #0
- 8004872: e7df b.n 8004834 <d_print_comp_inner+0x7f0>
- 8004874: 2212 movs r2, #18
- 8004876: 4690 mov r8, r2
- 8004878: 2200 movs r2, #0
- 800487a: 2380 movs r3, #128 @ 0x80
- 800487c: 4693 mov fp, r2
- 800487e: 320d adds r2, #13
- 8004880: 32ff adds r2, #255 @ 0xff
- 8004882: 4dbb ldr r5, [pc, #748] @ (8004b70 <d_print_comp_inner+0xb2c>)
- 8004884: 4692 mov sl, r2
- 8004886: 005b lsls r3, r3, #1
- 8004888: 3a04 subs r2, #4
- 800488a: 4691 mov r9, r2
- 800488c: 58c3 ldr r3, [r0, r3]
- 800488e: 44a8 add r8, r5
- 8004890: e00d b.n 80048ae <d_print_comp_inner+0x86a>
- 8004892: 001a movs r2, r3
- 8004894: 3301 adds r3, #1
- 8004896: 2180 movs r1, #128 @ 0x80
- 8004898: 0049 lsls r1, r1, #1
- 800489a: 5063 str r3, [r4, r1]
- 800489c: 54a6 strb r6, [r4, r2]
- 800489e: 2282 movs r2, #130 @ 0x82
- 80048a0: 3501 adds r5, #1
- 80048a2: 0052 lsls r2, r2, #1
- 80048a4: 54a6 strb r6, [r4, r2]
- 80048a6: 4545 cmp r5, r8
- 80048a8: d101 bne.n 80048ae <d_print_comp_inner+0x86a>
- 80048aa: f001 f9cc bl 8005c46 <d_print_comp_inner+0x1c02>
- 80048ae: 782e ldrb r6, [r5, #0]
- 80048b0: 2bff cmp r3, #255 @ 0xff
- 80048b2: d1ee bne.n 8004892 <d_print_comp_inner+0x84e>
- 80048b4: 465a mov r2, fp
- 80048b6: 54e2 strb r2, [r4, r3]
- 80048b8: 4653 mov r3, sl
- 80048ba: 58e2 ldr r2, [r4, r3]
- 80048bc: 464b mov r3, r9
- 80048be: 21ff movs r1, #255 @ 0xff
- 80048c0: 58e3 ldr r3, [r4, r3]
- 80048c2: 0020 movs r0, r4
- 80048c4: 4798 blx r3
- 80048c6: 2294 movs r2, #148 @ 0x94
- 80048c8: 0052 lsls r2, r2, #1
- 80048ca: 58a3 ldr r3, [r4, r2]
- 80048cc: 3301 adds r3, #1
- 80048ce: 50a3 str r3, [r4, r2]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement